Почему в Debian / Ubuntu доступна только устаревшая версия NPM?

Я использую дистрибутив на основе Debian / Ubuntu (в частности, AWS Ubuntu 16.04) и пытаюсь установить NPM через apt-get.

Моему приложению Angular 2 требуется более поздняя версия NPM, чем 3.9.x, но по умолчанию устанавливается версия 3.5.2 с использованием sudo apt-get install npm на AWS Ubuntu 16.04. Я пытаюсь обновить NPM, но он не обновляется до 4.6.1 (последняя версия) с 3.5.2.

Как мне установить / обновить NPM, чтобы получить последнюю версию?


person Raj Bhatia    schedule 21.05.2017    source источник


Ответы (6)


Вы получаете версию 3.5.2 npm, потому что эта версия находится в репозиториях. Debian и Ubuntu обычно ужасно не успевают за Node и быстрыми темпами разработки npm, поэтому вы часто обнаруживаете, что пакеты устарели и бесполезны для вас.

В некоторых дистрибутивах Debian (например, Jessie) есть только npm v1.4.21, который даже больше устарело. Между прочим, Debian Jessie - это версия, на которой основан Raspbian Jessie, дистрибутив RPi.

Вместо этого следуйте инструкциям для узла. js:

Node.js доступен из репозитория двоичных дистрибутивов NodeSource Debian и Ubuntu (ранее - PPA Launchpad Криса Ли). Поддержка этого репозитория, а также его скриптов можно найти на GitHub по адресу nodeource / distributions.

ПРИМЕЧАНИЕ. Если вы используете Ubuntu Precise или Debian Wheezy, вы можете прочитать о запуске Node.js> = 6.x в старых дистрибутивах.

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

В качестве альтернативы для Node.js v7:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

Пакет nodejs, предоставляемый NodeSource, включает npm. Просто установите его, и вы будете готовы к работе с последней версией.

person Aurora0001    schedule 21.05.2017
comment
Я не думаю, что они ужасны при обновлении каждого пакета. Интересно, легко ли проверять код узла и v8 и т. Д. - person jcalfee314; 01.11.2018
comment
спасибо, я использовал https://deb.nodesource.com/setup_15.x - person Hassan ALAMI; 29.03.2021

введите 'hash -r' на своем сервере bash.

Затем снова проверьте свой 'npm -v'

person StefanBob    schedule 30.01.2019
comment
Спасибо, сэр, я сошел с ума - person GrafiCode; 28.05.2019
comment
Это было. Совершенно схожу с ума. - person Jeff Mattson; 03.09.2020
comment
Это сработало, но у вас есть объяснение, почему? Он обновил символическую ссылку в / usr / local / bin / npm на ../lib/node_modules/npm/bin/npm-cli.js, но как он узнал об этом, или что было не так? - person Tonis F. Piip; 29.09.2020

Обновление npm:

$ sudo npm install -g npm@latest

$ reboot

$ npm -v

Полная установка:

$ sudo apt install nodejs

$ sudo apt install npm

$ npm -v

версия npm: 3.5.2

Затем обновите:

$ npm install -g npm@latest

$ reboot

$ npm -v
person AkaIgnotum    schedule 03.12.2019
comment
Вместо перезагрузки достаточно 'hash -r' в вашей оболочке. - person ralfoide; 13.02.2020

sudo npm install -g npm

Это сработало для меня, тогда мне понадобился ответ, предоставленный @StefanBob

person Henry's Cat    schedule 06.06.2019

Попробуй это

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
person Nyakwar Dayo    schedule 27.03.2020

Я прочитал этот ответ, и он мне помог в этом вопросе:

https://askubuntu.com/questions/1036278/npm-is-incorrect-version-on-latest-ubuntu-18-04-installation

Надеюсь, это поможет и вам.

$ sudo apt-get install npm
(...apt installation of npm was successful...)
$ npm -v
3.5.2
$ command -v npm
/usr/bin/npm
$ sudo npm install -g npm
(...npm installation of npm was successful...so far, so good)

После этого просто перезапустите bash или следуйте инструкциям Крубо.

person Quitiweb    schedule 24.09.2019