Як оновити 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.