Как я могу обновить 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.