Как обновить npm


125

Я пытаюсь установить шаблон mean.io. Не работает при запуске sudo npm install -g meanio@latest. Перед тем, как потерпеть неудачу, он отмечает, что «хочет» npm версии 1.4.x, тогда как у меня установлена ​​1.2.18. Поэтому я попытался обновить npm до последней версии; несколько путей. Последний из которых был ...

ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm

ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18

Почему он все еще показывает версию 1.2.18, когда я только что обновился до 1.4.7?


12
Dosudo npm update npm -g
Тим

1
Если вы рискуете использовать неподдерживаемый PPA, попробуйте launchpad.net/~chris-lea/+archive/node.js
TeTeT

sudo npm install npm -g мне помогло
thinklinux


Это должно быть на Ask Ubuntu
Ulysse BN

Ответы:


189

Это обновит npm, используя сам npm :

sudo npm install npm -g

Если вы застряли, попробуйте sudo npm update npm -g. Вся заслуга Тима Кастелейнса. Я тестировал его на ubuntu 14.04, npm 1.3.10


Обратите внимание, что если вы используете nvm для управления несколькими версиями в локальной среде разработки, например, для целей тестирования , все ваши установленные версии (перечисленные nvm ls) находятся в ~ / .nvm, поэтому вы просто опускаете общесистемную установку (т.е. опускаете sudo):

npm install npm -g

ДЕБИАНСКОЕ ПРЕДПРИЯТИЕ

Для полной корпоративной практики рассмотрите nodeource.com :

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

как описано здесь .

ДРУГИЕ ПРЕДПРИЯТИЯ

Для дистрибутивов, не относящихся к Debian, посетите страницу загрузки github wiki https://github.com/joyent/node/wiki/installing-node.js-via-package-manager https://nodejs.org/en/download /

Для исторического понимания: Chis Lea поддерживал PPA, но теперь объединил усилия с nodeource .


Я бы рекомендовал использовать репозиторий PPA, чтобы вы позволили диспетчеру пакетов ubuntu поддерживать обновления вместе со всем остальным.
henry74

На каких-то производственных серверах да, может быть. Но на dev вы действительно хотите гарантировать, что получаете материалы непосредственно от сопровождающего пакета npm, а не от сопровождающего PPA
Евгений Якимович

Я не согласен. Вы не хотите, чтобы разработка отличалась от производственной, иначе вы столкнетесь с проблемами развертывания для разных версий.
henry74

1
Опять же, в зависимости от того, насколько вы параноик, доверие PPA Chis Lea может быть сомнительным. Всегда есть возможность решить, какую часть критических зависимостей в проекте выгружать как локальную копию. Если вы не работаете в банке, но работаете над проектом с открытым исходным кодом, у вас может даже не быть о продукте, о котором стоит беспокоиться :) Я свяжу здесь вики-страницу узла, просто перечислив все альтернативы. Лично я не особо разбираюсь в тегах PPA и github, когда дело касается распространения кода.
Евгений Якимович

Не нужно использовать PPA Криса. Используйте официальный из источника узла.
henry74

44

если ответ user3223763 не работает, вы можете попробовать следующее:

sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

Затем :

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh

После этого откройте новый терминал и проверьте версию npm:

npm --version

ИЗМЕНИТЬ / ОБНОВИТЬ:

Сегодня последняя версия nvm:

https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh

Таким образом, команда CURL: v0.25.4 вместо v0.13.1

curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh

Вы можете проверить https://github.com/creationix/nvm/releases, чтобы использовать правильную версию для дальнейших обновлений.


3
user3223763 у меня не работал, как и самообновление npm. Спасибо, Даниэль
hectorg87

3
Я могу подтвердить, что этот метод помог обновить npm. Предыдущие методы имели библиотеки неудовлетворенных зависимостей или обновляли npm, но не обновляли путь / среду для использования нового местоположения.
will824

Это также сработало для меня, другие ответы не были на Ubuntu 14.0.4
islanddave

1
Это сработало для меня, используя Ubuntu 14.04, установленную на Chromebook с Crouton. Ничего другого, что я нашел в сети, не сработало
Найл

18

не забудьте закрыть и снова запустить окно терминала;)

(по крайней мере, если вы хотите проверить "npm --version" в терминале)

sudo npm install npm -g

это тоже помогло мне


13

Похоже, вы используете Ubuntu (из командной строки, которую вы показываете). Для обновления npmи nodejsвы можете использовать репозиторий PPA:

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm

1
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. для Ubuntu 18.04
anon58192932

Ошибка : 11 ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release 404 Not Found [IP: 91.189.95.83 80]
Киран Редди,

1
чтобы избавиться от надоедливой ошибки, запустите: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

Пробовал указанные выше параметры в Ubuntu 14.04, но они постоянно выдавали эту ошибку:

npm ERR! tar pack Ошибка чтения /root/tmp/npm-15864/1465947804069-0.4854120113886893/package

Затем нашел это решение в Интернете:

1) Сначала очистите кеш npm:

sudo npm cache clean -f

2) Установите n модуль npm:

sudo npm install -g n

3) Начните установку, выбрав версию узла для установки: стабильную или последнюю , здесь мы будем использовать стабильную :

sudo n stable

4) Проверьте версию узла:

node -v

5) Проверьте версию npm:

npm -v

В этом ответе можно было бы немного расширить, чтобы объяснить, что делают менее очевидные команды.
Madbreaks

6

Чтобы получить последнюю стабильную версию, просто запустите

npm install npm@latest -g

У меня это сработало просто отлично!





1
npm i -g npm

      Update available 4.5.0 → 4.6.1    │
   │     Run npm i -g npm to update 

это то, что рекомендует npm в терминале, вторая часть напрямую копируется и вставляется с моего терминала

примечание: я использую Mac


Вопрос конкретно по ubuntu, а не по osx. Если я попробую вашу команду в ubuntu, npmне получится Error: Cannot find module 'process-nextick-args'. Вы должны удалить свой ответ.
Энтони Конг

1

Проверьте версию узла узла -v и вашей НПМ версии NPM -v Затем Чтобы обновить НПМ , введите это в ваш терминал: Sudo НПМ установить НПМ @ последнее -g

NB: ОС на основе Debian {ubuntu или Linux mint}


1

NPM возвращал старую версию после запуска $ sudo npm install npm -g .

Перезапуск терминала (т.е. закрытие и повторное открытие) устранил для меня проблему и $ npm --versionначал возвращать ожидаемую версию.

* @Rimian упоминает о необходимости перезагрузки терминала в комментарии к другому ответу.


0

Если вы хотите обновить npm до определенной версии, вы можете использовать это:

npm install npm@version-number


0

Проверьте версию своего узла и версию node -vnpm. npm -v Затем, чтобы обновить npm, введите это в свой терминал: npm install npm@latest -g

Надеюсь, я смогу помочь. С уважением


0

Это то, что у меня сработало на Ubuntu curl -L https://www.npmjs.com/install.sh | sh



0

Вы можете использовать npmменеджер пакетов:

npm install npm@latest

Он устанавливается npmс использованием самой последней версии.


-1

Для Ubuntu 18.04

npm установить последнюю версию

Я надеюсь, что это и для тебя

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.