не вдалося встановити npm на ubuntu


37

Спробував встановити nodejs та npm на ubuntu 12.04. Я гуглив і зробив це. Тепер я не міг встановити npm на машині.

sudo apt-get install npm

Що мені це дає

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: nodejs-dev
       Depends: node-request but it is not going to be installed
       Depends: node-mkdirp but it is not going to be installed
       Depends: node-minimatch but it is not going to be installed
       Depends: node-semver but it is not going to be installed
       Depends: node-ini but it is not going to be installed
       Depends: node-graceful-fs but it is not going to be installed
       Depends: node-abbrev but it is not going to be installed
       Depends: node-nopt but it is not going to be installed
       Depends: node-fstream but it is not going to be installed
       Depends: node-rimraf but it is not going to be installed
       Depends: node-tar but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

3
Я думаю, що ніхто не каже, але apt-get install npmтреба уникати (!). Перевірте, чи npm -vє раніше, щоб спробувати встановити .... (докладніше читайте нижче на відповідь @ MarcoCerpi)
Пітер Краус

Відповіді:


34

Схоже, ви, ймовірно, встановили chris-lea node.js ppa, що добре. Однак ви не встановлюєте npm від цього ppa, оскільки він порушує спосіб роботи пакунків debian. Замість цього просто встановіть nodejs. Після того, як це встановлено, запустіть, npm -vви повинні побачити, що він зараз встановлений. Якщо ви не використовували chris-lea ppa, оновіть своє запитання щодо того, на якій веб-сторінці ви зібрали Google, щоб дізнатися, як встановити nodejs на Ubuntu.


7
Як би він запустив "npm -v", якщо він не може встановити npm ...?
Mariano Argañaraz

10
"Сучасні" apt-get install nodejsтакож npmоновили установку, тож, я розумію, цього apt-get install npmпотрібно уникати (!).
Пітер Краус


Я видалив свій PPA і отримав `npm: Залежить: node-gyp (> = 0.10.9), але він не збирається встановлювати`
Джонатан


1

Я вирішив це питання, дотримуючись цієї документації .

Покажчики, які потрібно пам’ятати для роботи з npm:

mkdir ~/nodejs/ && cd ~/nodejs
sudo apt-get install npm
npm install
npm update

Під час розробки програм, якщо nodejs потрібен якийсь конкретний модуль, тоді запустіть

cd ~/nodejs
npm install modulename   #for example sendgrid

Іноді модулі потрібно встановлювати глобально; потім використовувати

sudo npm install modulename -g"

Щоб видалити модуль:

cd ~/nodejs
npm uninstall modulename          # if locally installed or 
sudo npm uninstall modulename -g  # if globally installed

npm prune допомагає зняти незадовільні залежності


4
Він не може встановити npm men, як він міг дійти до пункту 3 ?!
Mariano Argañaraz

0

Проблема в реєстрі, виконайте цю команду,

npm config set registry http://registry.npmjs.org/

Я працюю таким чином, перевірте, чи працює він для вас


4
Як би він запустив "npm config ...", якщо він не може встановити npm ...?
Mariano Argañaraz

Коли він запускає sudo apt-get install npmкоманду, вона дає "помилку помилок залежності". Я помічаю помилку npm вже встановленого просто потрібно встановити URL-адресу реєстру.
Джей Патель

0

Спочатку вам потрібно встановити PPA, щоб отримати доступ до його вмісту:

curl -sL https://deb.nodesource.com/setup_9.x | sudo bash -

(Це для версії 9, яка є останньою версією на момент написання).

І потім

sudo apt-get install nodejs

0

Apt не справляється з конфліктами залежностей добре, використовуйте оснащення або здатність;

sudo aptitude install npm

Я повинен був натиснути "ні" на перше запропоноване ним рішення, яке не включало встановлення npm (це має бути помилка у здатності), тоді було встановлено друге рішення, яке я натиснув, yesщоб перевірити npm:

npm --version


0

Конфлікт версій встановленого вручну npm і поставляється з останніми nodejs.

Таким чином, ви можете спробувати видалити nodejs, видалити старий npm і знову встановити нові nodejs, які поставляються з npm.


-2

Встановлення nodejs встановить npm, тому просто видаліть nodejs та перевстановіть його:

sudo apt-get remove nodejs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.