Як оновити npm


124

Я намагаюся встановити плиту котла 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
Зробитиsudo npm update npm -g
Тім

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

sudo npm встановити 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

ДЕБЯНСЬКЕ ПІДПРИЄМСТВО

Для повної корпоративної практики врахуйте nodesource.com :

curl -sL https://deb.nodesource.com/setup | судо баш -

як описано тут .

ІНШЕ ПІДПРИЄМСТВО

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

Для історичного розуміння: Чіса Леа підтримувала свій ППА, але тепер об'єднала свої сили з вузловими ресурсами .


Я рекомендую використовувати сховище PPA, щоб ви дозволили менеджеру пакунків ubuntu підтримувати оновлення разом із усім іншим.
henry74

Так, можливо, на виробничих серверах. Але на розробнику ви дійсно хочете гарантувати, що ви отримаєте речі безпосередньо з сервісу пакета npm, а не з
технічного

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

1
Знову залежно від того, наскільки ви параноїк, довіряти PPA Chis Lea може бути сумнівним. Завжди можливе рішення про те, яка кількість критичних залежностей у проекті просто вивантажується як локальна копія. Якщо ви не працюєте в банку, але робите проект з відкритим кодом, можливо, вам навіть не доведеться турбуватися про виробництво :) Я зв’язую вікі-вузол тут, лише перелічуючи всі варіанти. Особисто я не великий теги PPA проти github, коли справа стосується розподілу коду.
Яуген Якимович

Не потрібно використовувати КРС Кріса. Використовуйте офіційний з джерела вузла.
henry74

43

якщо відповідь 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/реліз, щоб використовувати правильну версію для подальших оновлень


3
user3223763 не працював для мене, а також не робив самостійне оновлення npm. Дякую Даниїлу
hectorg87

3
Я можу підтвердити, що цей метод допоміг оновити npm. У попередніх методах бібліотеки мали б невирішені залежності або оновлювали б npm, але не оновлювали шлях / середовище для використання нового місця розташування.
will824

Це також працювало для мене, інші відповіді не були на Ubuntu 14.0.4
islanddave

1
Для мене це працювало за допомогою Ubuntu 14.04, встановленого на Chromebook із Crouton. Нічого іншого, що я знайшов, працював в Інтернеті
Niall

17

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

(принаймні, якщо ви хочете перевірити "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]
Kiran Reddy,

1
щоб позбутися прикрої помилки запуску: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

Випробували наведені вище варіанти на Ubuntu 14.04, але вони постійно створювали цю помилку:

npm ERR! tar-пакет Помилка читання /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- версію npm -v. Потім, щоб оновити npm , введіть це у свій термінал: sudo npm install npm @ latest -g

NB: ОС на базі Debian {ubuntu або Linux mint}


1

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

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

* @ Ріміан згадує про необхідність перезавантажити термінал у коментарі іншої відповіді.


0

Якщо ви хочете оновити npm до певної версії, ви можете скористатися цим:

npm install npm@version-number


0

Перевірте версію свого вузла node -vта свою версію npm. 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.