Как я могу обновить NodeJS и NPM до следующих версий?


1663

Я только что установил Node.jsи npm(для дополнительных модулей).

Как я могу обновить Node.js и модули, которые я использую, до последних версий?

Можно npmэто сделать, или мне нужно удалить и переустановить Node.js и npm, чтобы получить следующие версии?

Я следовал за этими шагами в npmразделе.


Я был точечно, что даже более правильный способ обновления НПМ использовать nodesource.com См stackoverflow.com/a/24760147/544463
Yauhen Якимович

Возможный дубликат Как обновить npm
Симона Поджи

7
@Motocarota Посмотрите на даты, другой вопрос дублируется на этот ...
Andre Figueiredo

6
есть инструмент, который nvmдает вам возможность иметь более одной запущенной версии узла + npm
Искрен Станиславов

С тех пор, как об этом впервые спросили, все изменилось в лучшую сторону (если вам не требуется управление версиями). См. Обновление узла (Windows, Mac и Linux) .
конфетка

Ответы:


1756

Смотрите документы для updateкоманды:

npm update [-g] [<pkg>...]

Эта команда обновит все перечисленные пакеты до последней версии (указанной в теге config) с учетом semver.

Кроме того, см. Документацию по Node.js и установке NPM и обновлению NPM .

Следующий оригинальный ответ взят из старого FAQ, который больше не существует, но должен работать для Linux и Mac:

Как мне обновить npm?

npm install -g npm

Обратите внимание, что эта команда удалит вашу текущую версию npm. Обязательно используйте, sudo npm install -g npmесли на Mac.

Вы также можете обновить все устаревшие локальные пакеты npm updateбез каких-либо аргументов или глобальные пакеты npm update -g.

Иногда версия npm будет развиваться так, что текущая версия не может быть правильно установлена ​​с уже установленной версией. (Учтите, если в команде обновления есть ошибка). В этих случаях вы можете сделать это:

curl https://www.npmjs.com/install.sh | sh

Чтобы обновить сам Node.js, я рекомендую использовать nvm, Node Version Manager .


122
npm update npm -gу меня не работал на windows - он завершился без вывода, но npm остался той же версией (1.3.11, когда самая последняя версия 1.3.14)
BT

11
также имейте curl следуйте перенаправлениям с -Lcurl -L https://npmjs.org/install.sh | sudo sh
AndyL

40
Я сделал это, как вы сказали, npm update npm -gи теперь у меня нет команды npm.
alexserver

18
Использование npm для установки новой версии самого себя. Я чувствую запах взрывающихся вещей.
Клаудио Холанда

15
НЕ используйте sudo npm install -g npm! Это удалит его!
chris123

434

Я нашел этот действительно удобный способ обновления узла в блоге Дэвида Уолша , вы можете сделать это, установив n:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Будет установлена ​​текущая стабильная версия node.


РЕДАКТИРОВАТЬ: Пожалуйста, не используйте больше. Я рекомендую использовать nvm. Вы можете просто установить стабильную версию, выполнив следующие команды:

nvm ls-remote
nvm install <version> 
nvm use <version>

8
Отказывается работать на Windows x64 (но, видимо, с Win32). Это не соответствует проекту Node.js.
rainabba

8
Не поддерживается для Windows. Я понимаю, что было бы проще просто использовать Linux, но на работе я не свободен в выборе своей ОС. Как говорит @rainabba, дух проекта Node.js должен быть кроссплатформенным, а это не так.
Кевин Дайс

1
В Windows вы можете просто загрузить самую новую версию узла и установить ее. Это обновит и узел, и npm.
Даниэль Вайнер

1
В Windows 10 вам нужно скачать установщик с узлаjjs.org/en, так как эта команда не работает. Я не говорю о sudo, который не имеет смысла в окнах, я имел в виду команды.
Камайд

12
Почему вы сказали «Пожалуйста, не используйте больше»? Любая конкретная причина?
Qiulang

316

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

npm install npm@latest -g

Это приводит к фатальной ошибке, по крайней мере, для пользователей Mac см. Здесь
dmr07

3
Используя windows 10 и узел v5.7.0, команде npm install npm@latest -gне удалось обновить npm 2.7.4 до npm 3.9.3.
заниматься серфингом

3
Спасибо, это сработало для меня, это довольно просто. Но я должен был это sudo npm install npm@latest -gвсе. Проголосовано
Сиддхартха Чаудхури

12
Это также официальный ответ: docs.npmjs.com/getting-started/install-node
Трэвис Ридер,

2
это так просто спасибо. у меня это сработало сразу :) Многие другие тоже не сработали.
læran91

153

Я понимаю, что этот вопрос относится к Linux-машине, но на всякий случай, если кто-то ищет решение для Windows, просто зайдите на сайт Node.js , нажмите кнопку загрузки на домашней странице и запустите программу установки.

К счастью, он обо всем позаботился, и несколькими щелчками кнопки «Далее» я получил последнюю версию 0.8.15 Node.js, работающую на моей машине с Windows 7.


1
Да. это сработало для меня. Я на окнах. nметод не работал. Жаль, что не было лучшего способа сделать это.
Алексис

1
Это лучший и самый простой способ обновить узел на Windows. работал у меня просто отлично. Благодаря Anmol
питер

6
если вы обновляете с npm v1.x до 2.x в Windows, вы можете удалить файлы «npm», «npm.cmd» из «C: \ Program Files \ nodejs» после установки или удаления npm. См .: escapologist.wordpress.com/2014/09/29/…
Том Уэйсон

Не забудьте перезагрузить компьютер!
Humppakäräjät

Это работает с Windows 10, а также Node и npm update. Очень гладко
Mike_Laird

120

Как вы уже знаете, НПМ в настоящее время в комплекте с node.js . Это означает, что если вы установили node.js , вы уже установили и npm .

Также обратите внимание на таблицу версий выпусков node.js и npm, которая показывает приблизительную совместимость версий. Иногда несоответствие версий может привести к ошибкам несовместимости.

Таким образом, если вы разработчик, это своего рода «лучшей практики» для управления средой разработки с использованием одного из Node.js менеджеров версии.

Вот список и замечания по использованию некоторых из самых популярных:

Доморощенный (macOS)

Если вы используете macOS , вы можете использовать Homebrew .

На самом деле, это не просто менеджер версий node.js.

Чтобы установить Homebrew на свой Mac:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Чтобы установить node.js и npm с помощью Homebrew, запустите:

$ brew install node

Позже вы сможете обновить их, используя:

$ brew update && brew upgrade node

Также вы можете переключаться между версиями node.js :

$ brew switch node 0.10.26

Npm будет обновлен / понижен автоматически.

n (macOS, Linux)

n , скорее всего, rvm (Ruby Version Manager) и используется для одновременного управления версиями node.js и npm . Он написан на чистой Linux-оболочке и доступен в виде модуля npm . Так что , если у вас уже есть какие - либо node.js установленной версии, вы можете установить / обновить в п пакет через npm:

$ npm install -g n

Скачать, установить и переключиться на версии node.js и npm так же просто, как:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

Чтобы загрузить, установить и перейти на последний официальный выпуск, используйте:

$ n latest

Чтобы загрузить, установить и перейти на последний стабильный официальный выпуск, используйте:

$ n stable

Чтобы переключиться на ранее активную версию (aka $ cd -), используйте:

$ n prev

Если вы хотите увидеть список установленных версий node.js , просто запустите nиз командной строки. Вывод будет примерно таким:

$ n

  0.10.26
 0.8.17
  0.9.6

Где точка (•) означает, что это текущая активная версия. Чтобы выбрать другую версию node.js из списка, используйте клавиши Up/ со Downстрелками и активируйте, используя Enterклавишу.

Чтобы просмотреть версии, доступные для установки:

$ n lsr

NVM (MacOS, Linux)

nvm также похож на rvm , даже имена команд и их использование очень похожи.

Для установки nvm вы можете использовать установочный скрипт (обязательно git), используя cURL:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

или wget:

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

Чтобы загрузить и установить конкретную версию node.js и npm , используйте:

$ nvm install 0.10

Затем вы можете переключиться на установленную версию, используя:

$ nvm use 0.10

Кроме того, вы можете создать .nvmrcфайл, содержащий номер версии, а затем переключиться на указанную версию с помощью следующей команды:

$ nvm use

Чтобы увидеть список установленных версий node.js , используйте:

$ nvm ls

Чтобы просмотреть версии, доступные для установки:

$ nvm ls-remote

nvm-windows (Windows)

nvm-windows - это утилита управления версиями node.js для Windows, иронически написанная на Go .

Это не то же самое, что nvm . Однако использование в качестве менеджера версий node.js очень похоже.

Чтобы установить nvm-windows , необходимо заранее удалить все существующие версии node.js и npm . Затем загрузите и запустите последнюю версию установщика из выпусков .

Чтобы обновить nvm-windows , запустите новый установщик. Это безопасно перезапишет файлы, которые нужно обновить, не затрагивая ваши установки node.js.

nvm-windows запускается в оболочке администратора. Вам нужно будет запустить Powershell или командную строку от имени администратора, чтобы использовать nvm-windows .

Перед использованием может также потребоваться включить nvm-windows с помощью следующей команды:

C:\> nvm on

Чтобы загрузить и установить конкретную версию node.js и npm , используйте:

C:\> nvm install 0.12

Затем вы можете переключиться на установленную версию, используя:

C:\> nvm use 0.12

Если вы хотите увидеть список установленных версий node.js , используйте:

C:\> nvm list

Чтобы просмотреть версии, доступные для установки:

C:\> nvm list available

Мне нравится этот ответ. +1! Но было бы еще полезнее сопровождать его какими-то объяснениями о различных менеджерах пакетов. Т.е.; почему я должен использовать один над другим. Я действительно помог бы дать контекст ..
7wp

с помощью команды "brew update && brew upgrade node" npm не обновляется до последней версии, как упоминалось "... NPM также будет обновлен .."
vikramvi

Мне вообще нравится доморощенный, но тот факт, что для его обновления требуется обновление, npmмучительно медленный ...
Патрик Робертс

104

Сначала проверьте свою версию NPM

npm -v

1) Обновить NPM до текущей версии:

Посмотреть текущую версию NPM:

npm view npm version

Обновите npm до текущей версии:

npm i -g npm


2) Перечислите все доступные версии NPM и сделайте выборочную установку / обновление / откат

Просмотреть все версии, включая «альфа», «бета» и «rc» (релиз-кандидат)

npm view npm versions --json

Переустановите NPM на конкретную версию, выбранную из списка версий - например, до 5.0.3.

npm i -g npm@5.0.3
  • Установка одной версии автоматически удалит ту, которая установлена ​​в данный момент.

  • Для Linux и iOS добавьте команды с помощью sudo


Я столкнулся Error: EACCES: permission denied, unlinkс sudo
Имран Али

57

Обновление для пользователей Windows

Пользователи Windows должны прочитать Устранение неполадок> Обновление в Windows в вики npm.

Обновление до Windows 10 с помощью PowerShell (стороннее редактирование)

Ссылка выше Устранение неполадок # upgrade-on-windows указывает на страницу github npm-windows-upgrade, строки ниже - это цитаты из файла readme. Я успешно обновился с npm 2.7.4 до npm 3.9.3 с использованием узла v5.7.0 и powershell (предположительно powershell версии 5.0.10586.122)

Во-первых, убедитесь, что вы можете выполнять сценарии в своей системе, выполнив следующую команду из расширенного PowerShell. Чтобы запустить PowerShell от имени администратора, нажмите «Пуск», найдите PowerShell, щелкните правой кнопкой мыши PowerShell и выберите «Запуск от имени администратора».

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

Затем, чтобы установить и использовать этот инструмент обновления, запустите (также из повышенного PowerShell или cmd.exe):

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

или просто запустите: npm install -g npm
Gal Margalit

1
Нет Гал, вы путаете проблему с запуском npm install -g npm не работает в Windows, вы читали проблемы, с которыми сталкивались пользователи Windows (перечисленные выше?). Используйте метод Powershell, как показано в ответе Surf. Спасибо smurf, наконец-то удалось обновить yeeehaaaa!
Дэв

55

Первое обновление npm,

npm install -g npm@next

Затем обновите nodeдо следующей версии,

npm install -g node@nextили npm install -g n@next или, до последнего,

npm install -g node@latest или npm install -g node

проверить после установки версии,

node --versionили node -v


51

ПРОСТО ИСПОЛЬЗУЙТЕ ЭТО

npm i -g npm

Это то, что я получаю на моей консоли из npm, когда выпускаются новые обновления / исправления ошибок:

введите описание изображения здесь


1
после того, как я запустил это, мне пришлось выйти из терминала bash и перезапустить, чтобы увидеть изменения. Поскольку pathдля npmизменены в процессе обновления и по какой - то причине он держал выполнение старой версии , которая показала старую версию , конечно , когда вы казненыnpm -v
anon58192932

26
  • Для обновления узла используйте nvm (или nvmw для windows).

  • Чтобы обновить npm , npm update npm -gкоманда не работала у меня (в Windows). Что помогло, так это переустановка npm в соответствии с документацией : « Вы можете скачать zip-файл с https://npmjs.org/dist/ и распаковать его в ту же папку, где живет node.exe. » Убедитесь, что вы делаете это что вы сначала избавитесь от предыдущей установки (хотя при перезаписи это, вероятно, будет работать нормально ...).

  • Чтобы обновить ваши модули , используйте команду обновления npm


npm update npm -gработал на меня. Я запускаю OSx, и у меня установлен узел через homebrew, однако, brew upgrade nodeон не будет работать, если у вас уже установлена ​​последняя версия узла, как и я. Кусочек торта.
jamesJosephFinn

npm install -g npm@latestработал для меня на Windows8 stackoverflow.com/a/29023180/588759
rofrol


19

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

Посмотрите, какую версию npm вы используете:

npm -v

Обновление на * nix (OSX, Linux и т. Д.)

(Вам может понадобиться добавить к этим командам префикс sudo, особенно в Linux или OS X, если вы установили Node с помощью установщика по умолчанию.)

Вы можете обновить до последней версии npm, используя:

npm install -g npm@latest

Или обновите до последней версии:

npm install -g npm@next

Обновление на Windows


По умолчанию npm устанавливается рядом с узлом в

C:\Program Files (x86)\nodejs

Глобально установленные пакеты npm (включая, возможно, сам npm) хранятся отдельно в пользовательском каталоге (который в настоящее время

C:\Users\<username>\AppData\Roaming\npm).

Потому что установщик ставит

C:\Program Files (x86)\nodejs

перед

C:\Users\<username>\AppData\Roaming\npm

по вашему PATH, он всегда будет использовать версию npm, установленную с узлом, вместо версии npm, установленной вами с помощьюnpm -g install npm@<version> .

Чтобы обойти это, вы можете сделать одно из следующего:

  • Вариант 1: отредактируйте свою установку Windows,PATH чтобы поставить %appdata%\npmраньше %ProgramFiles%\nodejs. Помните, что вам нужно будет перезапустить cmd.exe(и, возможно, перезапустить Windows), когда вы внесете изменения PATHили как установлен npm.

  • Вариант 2: удалить оба

    • %ProgramFiles%\nodejs\npm
    • %ProgramFiles%\nodejs\npm.cmd
  • Вариант 3: перейдите %ProgramFiles%\nodejs\node_modules\npmи скопируйте npmrcфайл в другую папку или на рабочий стол. Затем откройте cmd.exeи выполните следующие команды:

cd% ProgramFiles% \ nodejsnpm install npm @ latest

Если вы установили npm с помощью установщика node.js, после выполнения одного из предыдущих шагов выполните следующее.

  • Вариант 1 или 2

    • Зайдите %ProgramFiles%\nodejs\node_modules\npmи скопируйте файл с именем npmrcв новую папку npm, которая должна быть %appdata%\npm\node_modules\npm. Это сообщит новому npm, где находятся глобальные установленные пакеты.
  • Вариант 3

    • Скопируйте файл npmrc обратно в %ProgramFiles%\nodejs\node_modules\npm

Краткое примечание о встроенной конфигурации Windows

Установщик Node устанавливает непосредственно в папку npm специальную часть конфигурации, специфичной для Windows, которая сообщает npm, куда устанавливать глобальные пакеты. Когда для установки используется npm, предполагается, что эта специальная builtinконфигурация будет скопирована в новую установку. В некоторых версиях npm была ошибка, из-за которой она не работала, поэтому вам может понадобиться исправить ее вручную. Выполните следующую команду, чтобы увидеть, где npm установит глобальные пакеты, чтобы убедиться, что это правильно.

npm config get prefix -g

Если он не установлен <X>:\Users\<user>\AppData\Roaming\npm, вы можете запустить приведенную ниже команду, чтобы исправить это:

npm config set prefix "${APPDATA}/npm" -g

Кстати, если вы предпочитаете, чтобы пакеты не устанавливались в вашем роуминговом профиле (потому что у вас есть квота в общей сети, или это делает вход или выход из домена медленным), вы можете вместо этого поместить его в данные локального приложения:

npm config set prefix "${LOCALAPPDATA}/npm" -g

... а также копирование %APPDATA%\npmна %LOCALAPPDATA%\npm(и обновлении %PATH%, конечно).

Каждый, кто работает на npm, знает, что этот процесс сложен и чреват, и мы работаем над тем, чтобы сделать его проще. Следите за обновлениями.

Источник: https://docs.npmjs.com/troublesho//try-the-latest-stable-version-of-npm


16

Установить npm =>sudo apt-get install npm

Установить n =>sudo npm install n -g

последняя версия узла =>sudo n latest

Конкретную версию узла вы можете

Список доступных версий узлов =>n ls

Установить конкретную версию =>sudo n 4.5.0


15

Я только что установил Node.js на новую машину с Windows 7 со следующими результатами:

> node -v
v0.12.0
> npm -v
2.5.1

Затем я сделал описанную выше процедуру:

> npm install -g npm

и он обновился до v2.7.3. Кроме того, что сделал npm -vеще дал 2.5.1.

Я пошел в панель конфигурации системы, дополнительные настройки, переменные среды. Я увидел переменную PATH, специфичную для моей учетной записи пользователя, в дополнение к глобальной переменной Path.
Первый указывал на новый npm: C:\Users\PhiLho\AppData\Roaming\npm
последний включает путь к узлу: C:\PrgCmdLine\nodejs\(В настоящее время я избегаю устанавливать вещи в Program Files и производных. Избегать пробелов в путях, и шумная бесполезная защита более разумна ...)
Если я это сделаюwhich npm.cmd (у меня есть Утилиты Unix установлены ...), он указывает на тот, что в Node.

Как бы то ни было, исправить это просто: я просто скопировал первый путь (в npm) непосредственно перед путем к узлу в главной, глобальной переменной Path, и теперь он выбирает последнюю версию.
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\

> npm -v
2.7.3

Наслаждаться. :-)


15

Я думаю, что лучший способ управлять node.js - это использовать NVM . NVM расшифровывается как Node Version Manager.

Это обязательный инструмент для разработчиков node.js!

Вы можете установить NVM с помощью следующей команды, открыть терминал и запустить любое из следующего: -

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

или

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

После установки рекомендуется закрыть текущий терминал и открыть новый, так как NVM будет добавлять некоторые переменные окружения, поэтому необходимо перезапустить терминал.

Я перечислю некоторые основные команды для использования NVM.

  • Это позволит получить все версии узлов из Интернета. Будут показаны все версии узлов от начала до даты, а также версии LTS.
nvm ls-remote 
  • Это установит нужную версию узла (список версий получен с помощью приведенной выше команды)
nvm install v10.15.1
  • Эта команда выдаст нам список версий узлов, которые установлены локально
nvm ls
  • Эта команда используется для удаления нужной версии узла с вашего компьютера.
nvm uninstall v10.15.1
  • Следующая команда поможет вам обновиться до последней npmверсии, работающей с текущей версией узла.
nvm install-latest-npm
  • NVM может использоваться для одновременного управления несколькими версиями узлов
  • Это также может помочь вам установить все глобальные npmпакеты из одной версии в другую вместо ручной установки каждого из них!
  • Существует много других применений nvm, подробности о которых и о командах можно найти здесь. Node Version Manager

14

Для Linux, OSX и т. Д.

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

npm install -g npm@latest

Или установить самый последний выпуск

npm install -g npm@next

Дополнительно: чтобы проверить версию npm

npm -v

Если вы работаете на Windows Machine, я предлагаю перейти на сайт npm


В чем разница между самым последним и самым последним?
Крис Ланг

1
@Chris Lang недавняя - самая новая версия, но последняя - самая новая стабильная версия
Абхишта Гатья

14

Просто запустите следующую команду в терминале от имени пользователя root / administrator:

npm i -g n
n stable
npm update -g npm

Это работало для меня на Linux


12

Недавно я наткнулся на эту статью: http://martineau.tv/blog/2013/12/more-efficient-grunt-workflows/, и автор упоминает$ npm-check-updates -u && npm install об обновлении всех зависимостей.

Это немного не по теме, но я попал сюда по аналогичному поиску, поэтому подумал, что оно того стоит.


david-dm.org И это просто появилось как комментарий к сообщению, которое я цитировал. Кажется идеальным ...
Джейсон Лидон

11

Иногда просто загрузить последнюю версию с http://nodejs.org/

Особенно, когда все другие варианты терпят неудачу.

http://nodejs.org/ -> нажмите INSTALL -> у вас будет самый последний узел и npm

Просто!


1
Определенно проще, но не всегда работает. Я боролся со всем вышеупомянутым предложением и еще немного - ни один не работал на моем Mac. Переход на nodejs.org исправил это.
Гуя

1
в этом случае вы, вероятно, неправильно установили его с самого начала. Node / npm - это один из тех, кому вы хотите добавить префикс вашей установки, поэтому вам не нужен sudo для всего.
Брайан Вандербуш

Я вероятно установил это обычно, используя brew или установщик. Это могла быть конкретная ошибка в конкретной версии npm. Я, вероятно, никогда не узнаю, и это, вероятно, не имеет значения - он обновлялся с тех пор, как с помощью npm update.
Гуя

1
Это сработало для меня, спасибо. У меня были проблемы с получением последней версии, и я все испортил, когда по незнанию опустошил кэш npm, хе. Пришлось (заново) установить MSI (на Windows), чтобы получить полное обновление. Работал отлично.
Джейсон

Если вы используете OS X или Windows, лучший способ установить или обновить Node.js и npm - это использовать один из установщиков по ссылке на скачивание Node.js. Когда я был загружен и извлечен, он просто обновил узел и npm. версия на моем MacBook Pro OS X 10,13.
Кухан

10

Просто слушал интервью с командой npm о последнем эпизоде nodeup , и они рекомендовали не использовать его updateдля обновления с 1.xдо 2.x. Вместо этого используйте: npm install npm -g



9

Чтобы обновить npm:

npm install npm@{version} -g

обновить npm до последней версии:

npm install npm@latest -g

и проверить версию:

npm -v

обновить узел js:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

проверить :

node -v

8

для nodejs следует удалить его и загрузить свою любимую версию с nodejs.org для npm, запустите следующую строку в cmd:

npm i npm

8

Когда дело доходит до Linuxя предлагаю узел обновления с помощью диспетчера пакетов:

Node поставляется с предварительно установленным npm, но менеджер обновляется чаще, чем Node. Запустите npm -v, чтобы увидеть, какая у вас версия, а затем npm install npm@latest -gустановить самое новое обновление npm. Запустите npm -vснова, если вы хотите, чтобы npm обновлялся правильно.

Для обновления NodeJSвам понадобится удобный модуль npm. Запустите этот код, чтобы очистить кэш npm, установить n и установить последнюю стабильную версию Node:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Чтобы установить последнюю версию, используйте n latest. Кроме того, вы можете запустить n #. #. #, Чтобы получить конкретную Nodeверсию.


Когда дело доходит до, Windows/ macOSя предлагаю использовать Установщики на Nodejs.org

Страница загрузок Node.js содержит бинарные пакеты для Windows и macOS - но зачем делать вашу жизнь сложнее? Готовые установщики - .msi для Windows и .pkg для macOS - делают процесс установки невероятно эффективным и понятным. Загрузите и запустите файл, и пусть мастер установки позаботится обо всем остальном. С каждым загруженным обновлением более новые версии Node и npm заменяют старую версию.

В качестве альтернативы пользователи macOS могут использовать приведенные выше инструкции npm и n.


Когда дело доходит до обновления вашей node_modulesпапки зависимостей, я предлагаю пропустить все вещи, которые могут вызвать у вас головную боль, и просто перейти к вашему конкретному проекту и перезапустить npm installснова.

Прежде чем кто-либо сделает это, я предлагаю сначала проверить ваш package.jsonфайл на следующее:

Как пользователь пакетов NodeJS, вы можете указать, какие виды обновлений может принимать ваше приложение, в файле package.json. Например, если вы начинаете работу с версией пакета 1.0.4, вы можете указать допустимые диапазоны версий обновления тремя основными способами:

Разрешить исправления : 1.0 или 1.0.x или ~ 1.0.4
Разрешить второстепенные версии: 1 или 1.x или ^ 1.0.4
Разрешить основные выпуски: * или x

Объяснение:

ОСНОВНАЯ версия для несовместимых изменений API. ->~

Версия MINOR для случаев, когда функциональность добавлена ​​в обратно совместимом виде. ->^

Версия PATCH для исправления ошибок с обратной совместимостью. ->*


6

Также, если вы хотите обновить до определенной версии, выполните следующие действия:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>

2
npm WARN using --force I sure hope you know what you are doing.
Джефф

6

Для пользователей Cygwin :

Установка n (менеджера версий узлов) в Cygwinне работает, вместо этого обновите узел с помощью:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

Да, вам нужно установить в wgetпервую очередь.


6

Используйте модуль n от npm для обновления узла. n является вспомогательным пакетом узла, который устанавливает или обновляет данную версию node.js.

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

Обратите внимание, что установка по умолчанию для nodejs находится в / usr / bin / nodejs, а не в / usr / bin / node

Для обновления до последней версии (а не текущей стабильной) вы можете использовать

sudo n latest

Отменить:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

Если вы получили следующую ошибку, bash: /usr/bin/node: No such file or directoryто путь, который вы ввели в

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

если не так. поэтому убедитесь, что обновление узлаjj установлено по указанному выше пути и введена ли верная версия.

Я бы настоятельно рекомендовал не делать этого на производственном экземпляре . Это может серьезно испортить ваши глобальные пакеты npm и вашу возможность установить новый.


6

Предупреждение: если вам нужно обновить Node со старой версии (в моем случае v4.6.0), лучше переустановить nodejs с нуля (ссылка для скачивания: https://nodejs.org ), иначе npm также обновится до версии, которая не совместима с новым узлом (см. это обсуждение ).

Это сообщение об ошибке, которое я получил после обновления Node (в Windows) с помощью npm

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

После новой установки npm снова работает:

$ npm -v
6.5.0
$ node -v
v10.15.0

npm install -g npm stableработает. Простой ответ
Нил

5

Просто запустите следующие скрипты на консоли:

sudo npm i -g n
sudo n stable
sudo npm update -g npm

Это будет работать только для Linux и MAC


5

Я нашел один плагин, который может помочь обновить все пакеты npm.

Во-первых, вам нужно установить плагин npm-check-updates. Здесь есть ссылка npm-check-updates

npm i -g npm-check-updates

Так что эта утилита установлена ​​глобально, вы можете вызвать ее, просто написав следующее.

1) ncu -u Здесь ncu - проверка обновлений npm.

2) npm install

Таким образом, с помощью этих двух команд вы можете легко обновить пакеты npm. Надеюсь, это поможет вам легко обновить пакеты.


@ ММ, возможно, в вашем проекте нет файла package.json. Пожалуйста, проверьте это сначала.
Арджун,

Вам не нужно устанавливать npm-check-updates. Это просто решение, которое использует пакет, созданный пользователем.
mesqueeb

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