Как мне обновить Node.js?


743

Я сделал следующее, чтобы обновить свой npm:

npm update npm -g

Но я не знаю, как обновить Node.js. Какие-либо предложения? (Я использую Node.js 0.4.1 и хочу обновить до Node.js 0.6.1.)


5
Возможный дубликат: Как я могу обновить NodeJS и Npm для следующих версий? , (по крайней мере, должны быть связаны)
Blong


29
Я не совсем понимаю, почему большинство ответов предлагают установить сторонние инструменты: /
mcont

Пожалуйста, обратитесь к этому сайту, hostingadvice.com/how-to/update-node-js-latest-version, в который включены все методы обновления узла
Sulu.MeanStack

После того, как на этот вопрос впервые ответили (если вам не нужно управление версиями), все
Swelet

Ответы:


476

Используйте Node Version Manager (NVM)

Это скрипт Bash, который позволяет вам загружать и управлять различными версиями узла. Полный исходный код здесь .

Существует отдельный проект для nvm для Windows: github.com/coreybutler/nvm-windows

Ниже приведены полные инструкции по использованию NVM для нескольких версий узлов в Windows.

  1. скачайте nvm-setup.zip и установите его.
  2. выполнить команду nvm list availableиз cmd или gitbash или powershell, это перечислит все доступные версии узлавведите описание изображения здесь
  3. используйте команду, nvm install version например, nvm install 12.14.0чтобы установить на машину
  4. последний раз установленный использовать nvm use versionдля использования более новой версии, напримерnvm use 12.14.0

13
К вашему сведению, команда для запуска после установки NVM называется 'nvm install <версия>'. Например, 'nvm install v0.8.7'
Кевин Лампинг,

13
Тебе это не нужно. Узел не Рубин.
Пятница

26
@SimonEast Существует nvm для Windows: github.com/coreybutler/nvm-windows
Фил Ханнент

5
@PhilHannent согласно странице github NVM, они не поддерживают NVM на окнах, поэтому можно сказать, что «нет официального NVM для окон»
Судханшу Мишра

4
Для Windows просто скачайте последнюю версию и установите ее. Он будет автоматически обновлен до новой версии, которую вы скачали.
last_fix

1136

Я использовал следующие инструкции для обновления с Node.js версии 0.10.6 до 0.10.21 на Mac.

  1. Очистить кэш NPM:

    sudo npm cache clean -f
  2. Установите маленький помощник под названием 'n'

    sudo npm install -g n
  3. Установите последнюю стабильную версию Node.js

    sudo n stable

Или выберите конкретную версию и установите ее так:

sudo n 0.8.20

В производственных средах вы можете обратить внимание на нумерацию версий и быть разборчивыми в отношении нечетных / четных номеров.

кредиты

  • Общая процедура: Д. Уолш
  • Стабильные / нестабильные версии: P.Teixeira

Обновление (июнь 2017 г.):

Этот четырехлетний пост все еще получает положительные голоса, так что я думаю, он все еще работает для многих людей. Однако сам мистер Уолш порекомендовал обновить Node.js, используя вместо этого nvm .

Итак, вот что вы можете сделать сегодня:

Узнайте, какую версию Node.js вы используете:

node --version

Узнайте, какие версии Node.js вы, возможно, установили, и какую из тех, которые вы используете в настоящее время:

nvm ls

Перечислите все версии Node.js, доступные для установки:

nvm ls-remote

Очевидно, для Windows команда будет выглядеть примерно так:

nvm ls available

Предполагая, что вы выберете Node.js v8.1.0 для установки, вы должны набрать следующее, чтобы установить эту версию:

nvm install 8.1.0

После этого вы можете свободно выбирать между установленными версиями Node.js. Поэтому, если вам нужно будет использовать более старую версию, такую ​​как v4.2.0, вы должны установить ее в качестве активной версии следующим образом:

nvm use 4.2

82
Вы должны указать свой источник - ваш ответ цитируется в блоге Дэвида Уолша: davidwalsh.name/upgrade-nodejs . Следует также отметить, что этот метод имеет серьезные недостатки, некоторые довольно разрушительные, как видно из комментариев к исходному сообщению в блоге.
Шон Эркхарт,

3
К сожалению, это не сработало для меня ... делало точно так, как описано на машине с Linux - 'node -v' до и после показывал 'v0.10.5'
Michael

28
Еще один шаг. Закройте и снова откройте терминал или, если вы используете ssh, выйдите и снова войдите в систему, чтобы увидеть новый узел-v
isimmons

1
@Rob Imig: глобально установленные сценарии обычно идут в такие места /usr/local/bin, где для установки требуются специальные разрешения. Дополнительная информация: github.com/npm/npm/issues/3139 Возможное исправление / обходной путь (если вы действительно хотите избежать его использования sudo): stackoverflow.com/questions/16724259/npm-command-sudo-or-not
Оливер Шафельд,

2
Кажется, работает для меня, но только что перешел по ссылке на блог Дэвида Уолша выше, и он прямо сказал, чтобы не использовать его - будьте осторожны!
brianjlennon

392

Если у вас установлен Homebrew (только для macOS):

$ brew upgrade node

3
Согласен, я просто запускаю «brew upgrade» каждые несколько дней, и я в курсе последних изменений для всех своих пакетов
Глен Селле,

3
Это боль, потому что это означает необходимость обновить xcode, что означает необходимость обновления osx ...
JGallardo

4
Мой говорит, что узел не установлен. Примечание: я не установил узел с homebrew. Есть ли что-то еще, что я должен сделать?
theonlygusti

2
Как установить конкретную версию узла, используя brew?
Шобхит Пури

2
Я написал это супер в начале своей карьеры, и с тех пор у меня была возможность попробовать кучу разных техник. Я настоятельно рекомендую установить nи использовать это, если вы можете, а ля другой ответ на эту тему: stackoverflow.com/a/19584407/392113
Уилл

307

Это простое решение, которое работает для всех поддерживаемых операционных систем *, включая Windows :

После большого количества серфинга и не находя прямого решения, я просто попытался зайти на сайт Node.js , нажал кнопку DOWNLOADS на домашней странице и запустил программу установки (MSI).

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

(вот оригинальный ответ )

Скачать кнопки NodeJS

Для Docker пользователей, вот официальный Node.js изображение .


PS: Для проверки вашей версии Node используйте npm versionили node --version.
PPS: следите за блогом NodeJS - Уязвимости, чтобы вы не пропустили важные релизы по безопасности.

* Операционные системы, поддерживаемые Node.js: Windows , Linux , MacOS , SunOS , IBM AIX


11
Так просто и очевидно ... Я искал ярлык, но этот путь кажется самым простым. node --versionчтобы убедиться, что это сработало .. мне тоже пришлось это гуглить - не очень часто проверяю версию моего узла.
Стив

1
Это не сработало для меня. У меня древняя установка 0.10.26. Я пытался установить 6.10.0 LTS, но кажется невозможным, я могу загрузить и установить 6.10.0 столько раз, сколько я хочу, машина с Windows 10 может видеть только 0.10.26. В "добавить удалить программы" я вижу только 6.10.0.
Джон Литтл

4
Почему именно вы гиперссылки на вики-страницы операционных систем?
Буффало

8
Я предпочитаю CLI: D, и я пользователь Windows. npm install -g npm stableзатемnpm install -g node
Радмация

1
Как обычно, в Windows двойной щелчок - это все, что вам нужно, чтобы позаботиться об обновлении. Можно подтвердить успешное обновление несколько раз, просто загрузив последнюю версию и установив ее.
Xavi3R Элвис

256

Все платформы (Windows, Mac и Linux)

Обновлено (июнь 2020 г.)


Альтернатива 1: через установщик

Просто зайдите на nodejs.org и используйте последнюю версию установщика.


Альтернатива 2: через NPM

npm install -g npm stable

npm install -g node


Вот и все, ребята. Раньше он был более сложным, и люди использовали различные виды пакетов и стратегий для управления им. Но все изменилось в лучшую сторону.


4
После переустановки gulp не работал. Затем я позвонил, npm rebuildи снова все было хорошо.
Красота

1
Это не сработало для меня. У меня древняя установка 0.10.26. Я пытался установить 6.10.0 LTS, но кажется невозможным, я могу загрузить и установить 6.10.0 столько раз, сколько я хочу, машина с Windows 10 может видеть только 0.10.26. В "добавить удалить программы" я вижу только 6.10.0. Я не могу найти, как удалить или обновить эту старую версию, или как установить новую версию поверх нее. Любые идеи?
Джон Литтл

3
Для последнего комментария вы можете использовать команду «где», чтобы найти исполняемый файл. Например: "где узел.exe". В моей системе (win10) это дает "C: \ Program Files \ nodejs \ node.exe"
Динеш Раджан

1
Я согласен, просто зайдите на nodejs.org и загрузите, и он будет обновлять все автоматически
russiansummer

3
Я попробовал другие решения этого вопроса, и этот был самым простым и наименее расстраивающим.
Джефф Марино

157

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

npm install -g npm stable

Затем обновите node,

npm install -g node или npm install -g n

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

node --version или node -v


5
Имейте в виду, что это работает для меня под Windows 2016, но узел был установлен в каталог текущего пользователя C:\Users\my-current-user\AppData\Roaming\npm\...:; это не обновляло более старую установку C:\Program Files\nodejsни под переменной пути. в итоге я переустановил с помощью msi-installer. это исправило это для меня.
surfmuggle

Это ужасная идея. Почему? Более поздние версии npm требуют более поздней версии узла. Поэтому вы можете обновить npm, и тогда он перестанет работать, так как вам нужна более новая версия узла. Таким образом, вы вернулись к началу, и теперь ваш npm сломан.
user3786992

1
его установки 6.8.0для npm, но я 6.11хочу для NodeJS, это нормально использоватьnpm install -g npm
Ашиш

2
Отличная работа, спасибо. Это должен быть принятый ответ!
Хьюго Нава Копп

После этого нам нужно поменять символическую ссылкуln -sf /usr/local/n/versions/node/10.17.0/bin/node /usr/bin/node
Винод Сай

148

В Windows вы можете использовать Chocolatey для установки и обновления Node.js (и многих других пакетов).

Установить узел

cinst nodejs.install

Обновить узел

cup nodejs.install

Примечание: вам нужно будет установить Chocolatey, прежде чем вы сможете использовать cinstи cup.


1
Я получаю: версия схемы «Microsoft.AspNet.Mvc» несовместима с версией 2.1.31022.9038 NuGet. Обновите NuGet до последней версии с go.microsoft.com/fwlink/?LinkId=213942 . Когда я попытался запустить кубок nodejs.install . Обнаружил, что если я запускаю nuget.exe update -self на nuget.exe в каталоге C: \ Chocolatey \ chocolateyinstall. Надеюсь, это кому-нибудь поможет.
Аарон П. Олдс

1
cinst nodejs.installChocolatey (v0.9.8.27) устанавливает 'nodejs.install' и зависимости. При установке вы принимаете лицензию для 'nodejs.install' и каждую устанавливаемую вами зависимость. Не удалось найти пакет 'nodejs.install'. Команда 'install' не выполнена (иногда это указывает на частичный сбой). Дополнительная информация / пакеты: nodejs.install
Фредерик Краутвальд

22
Я чувствую вопрос о том, как вы обновляете Chocolatey.
Мартин Браун,

1
Какая разница между nodejs.installа nodejs?
Охад Шнайдер

6
@OhadSchneider, если вы используете, .installто вы сможете удалить узел из «Приложения и функции» в Windows
ограбить

80

Чтобы контролировать свою версию Node.js, вы можете попробовать n . Я нашел это очень простым и полезным.

n - это бинарное управление Node.js, без подоболочек, без настройки профиля, без замысловатого API, просто.

npm install -g n

n 0.6.19 установит Node.js v0.6.19.


170
Не работает на окнах.
backdesk

3
Также вы можете переключаться между различными версиями nodejs, просто наберите «n» и выберите
нужную

2
Я не мог заставить его работать на Windows либо. Автор должен опубликовать этот факт. Это был тупик для меня.
Тим Харди

1
Это работает для меня в Windows в оболочке git bash. Так что, если вы используете git, запустите git bash и попробуйте там!
Zugwalt

5
У меня на Win7 не работает - даже в git bash. npm ERR! notsup Not compatible with your operating system or architecture: n@1.2.9 npm ERR! notsup Valid OS: !win32 npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: win32
Мвоттон

66

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

sudo npm install n -g
sudo n 0.10.18   // This will give you the specific version

Для последней стабильной версии:

sudo n stable

Для последней версии LTS (протестировано на Mac)

sudo n lts

1
Не могли бы вы сделать это в 2011 году? Почему все остальные ответили внешними решениями? +1 за использование NPM и заслуживает ответа IMO.
Эрик Реппен

2
Работал для меня на экземпляре AWS EC2 Linux
ChrisRich

Если вы пытаетесь установить «n» на Windows, не тратьте свое время. В это время все равно «n» не запускается на windows. Для Windows вы должны либо выполнить обновление из установщиков на nodejs.org, использовать npm `npm install -g node``, использовать chocolaty или установить nvm (сторонний менеджер версий для узла).
Пол Стоунер

50

Короткий и глупый ответ:

Перейти на эту страницу: Скачать | Node.js

Загрузите установщик для вашей платформы, затем установите его.


вы можете запустить его на Ubuntu / LINUX ??
Ашиш Ратан

3
Не только для Windows, но и для Mac это самый быстрый
Дмитрий Зайцев

ОП не упомянул ничего о платформе, поэтому ответ MSI действителен.
Hibou57

Я изменил ответ, чтобы сказать «Загрузите установщик для вашей платформы». Добро пожаловать :) @AshishRatan На этой странице есть бинарные файлы Linux.
ADTC

@ADTC nvm- лучшее решение
Ашиш Ратан

36

У меня была такая же проблема, когда я увидел, что моя установка Node.js устарела.

Эти несколько строк будут обрабатывать все (для Ubuntu ):

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

После этого node -vвам вернут последнюю доступную версию.


1
Работал безупречно на Mac OS X Yosemite тоже.
justnorris

1
после этого node -vвсе равно возвращается более старый номер версии. Но с помощью whereis nodeя действительно мог обнаружить, что последняя версия была установлена ​​в/usr/local/bin/node
bvdb

Работал без каких-либо хлопот на Ubuntu 18.04.
Гений

@bvbd версия nodeкоторой используется (по умолчанию) в этом случае скорее всего зависит от порядка каталогов в вашемPATH
рином

19

На CentOS 7 вы можете сделать следующее:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/5.4.1/bin/node /usr/bin/node
node v (Should show updated version now)
npm rebuild node-sass (Optional: if you use this)

Примечание: символическая ссылка необходима для связи вашего двоичного файла узла с последним установленным двоичным файлом Node.js.


2
работал для меня, важная вещь, которую я пропустил раньше, была символическая связь.
Евгений

Обратите внимание, что EPEL7 на данный момент имеет последнюю долгосрочную стабильную версию, поэтому эти шаги рекомендуются, только если вы хотите что-то более новое.
nponeccop

узел –v module.js: 473 бросить ошибку; ^ Ошибка: не удается найти модуль '/ root / test / –v'
Алексей Ш.

n last / usr / bin / n: строка 263: which: команда не найдена / usr / bin / n: строка 263: which: команда не найдена
Алексей Ш.

@AlexeySh. Это сработало для меня и, по крайней мере, еще 16 человек.
crmpicco

12

Для OS X у меня был v5.4.1, и мне нужна была последняя версия 6, поэтому я перешел на домашнюю страницу Node.js и нажал на одну из ссылок ниже:

Node.js OS X ссылки для скачивания

Затем я последовал за установщиком, а затем волшебным образом установил последнюю версию Node.js и npm.


5

Вы можете использовать NVM.

  1. Проверьте, какая последняя версия на http://nodejs.org/ (например, v0.10.26)
  2. Запустить nvm install v0.10.26

Выполнено.

Вы можете выбрать, какую версию запустить:

nvm ls перечислите доступные версии и сообщит вам, какую версию вы используете сейчас.

nvm use VERSION изменить текущий узел на запрошенную версию.

nvm alias default VERSIONустановить версию по умолчанию. В следующий раз, когда вы загрузите nvm.sh, это будет загруженная версия (обратите внимание, что она не меняет используемую версию прямо сейчас, запустите nvm useдля этого).


1
nvmэто сторонняя библиотека: P
Марко Боначи

1
Это раздражительно. Я использовал его с первого дня и не заметил. Я отредактирую ответ.
Риккардо Галли

nvm alias default VERSIONбыл моим спасителем!
Coderpc

Я также добавил бы, nvm copy-packages <previous version> чтобы обновить все глобальные зависимости в конце
il0v3d0g

5

Некоторые дистрибутивы Linux, такие как Arch Linux, имеют Node.js в своих репозиториях пакетов. В таких системах лучше использовать стандартную процедуру обновления пакета, например, pacman -Suyили аналогичные apt-getили yumкоманды.

На данный момент (ноябрь 2016 года) EPEL7 предлагает довольно свежую версию Node.js (6.9.1, которая является последней версией LTS, предлагаемой на домашней странице Node.js). Так что в CentOS 7 и его производных вы можете просто добавить EPEL-репозиторий с помощью yum install epel-releaseи yum install nodejs.

CentOS 6 / EPEL6 имеет 0.10.x, который не поддерживается в апстриме с октября 2016 года.


4

Сегодня я бегал на Windows Git Bash:

$ npm i node -g

и получил следующий вывод:

> node@10.6.0 preinstall C:\Users\X\AppData\Roaming\npm\node_modules\node
> node installArchSpecificPackage

+ node-win-x64@10.6.0
added 1 package and audited 1 package in 23.368s
found 0 vulnerabilities

C:\Users\X\AppData\Roaming\npm\node -> C:\Users\X\AppData\Roaming\npm\node_modules\node\bin\node
+ node@10.6.0
added 2 packages from 1 contributor in 26.089s

Узнайте больше об этом на https://www.npmjs.com/package/node .


3

Вы можете использовать Chocolatey на Windows. Он очень прост в использовании и полезен для того, чтобы держать вас в курсе других приложений.

Кроме того, вы можете просто скачать последнюю версию с https://nodejs.org и установить ее.


1
Он спросил: «Я сделал следующее, чтобы обновить свой npm:« npm update npm -g »Но я понятия не имею, как обновить node.js. Есть предложения? (Я использую node.js 0.4.1 и хочу обновить до node.js 0.6.1). " и я предложил ему использовать Chocolatey для упрощения процесса, но я также предложил ему скачать последнюю версию с сайта и установить ее, которой более чем достаточно для обновления узла JS, как он и просил. Таким образом, я думаю, что мой ответ обеспечивает удовлетворительное решение для его вопроса.
Андре Мората

3
$ npm install -g npm stable

у меня работало обновить нпм


4
Это для обновления npm и вопрос для обновления nodejs
Shivani Sharma

3

3

Простой способ обновить узел и npm:

npm install -g npm@latest

скачайте последнюю версию узла js и обновите / установите


1
Вы можете удалить @latestчасть, это поведение по умолчанию для npm.
Pac0

3

Для macOS в 2018+ (поскольку ВСЕ решения, описанные выше, не работают для меня):

Просто зайдите на официальный сайт nodejs , скачайте официальный пакет nodejs и установите его, дважды щелкнув. Это самая простая, безопасная и всегда работающая вещь, которую вы можете сделать.


2

Согласно Официальной странице Nodejs , вы можете установить и обновить новую версию узла на Windows, используя Chocolatey или Scoop

Используя (шоколадный):

cinst nodejs
# or for full install with npm
cinst nodejs.install

Используя (Scoop):

scoop install nodejs

Также вы можете скачать установщик Windows прямо с сайта nodejs.org


1

Для Ubuntu:

sudo apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

Источник: /ubuntu/426750/how-can-i-update-my-nodejs-to-the-latest-version


curl {anything} | sudo bash -не может быть хорошей практикой безопасности ... Даже если оставить в стороне сложные атаки, что если вы неправильно напишите имя домена?
Крубо

Ваш комментарий не добавляет ценности к ответу. Вы также можете ошибочно указать свой банковский домен и раскрыть банковские реквизиты на поддельном веб-сайте банка.
Бруно Паулино

1

Как уже говорили некоторые из вас, самый простой способ - обновить Node.js через менеджер пакетов Node.js, npm . Если вы являетесь пользователем Linux (на основе Debian в моем случае), я бы предложил добавить эти строки в ваш .bashrcфайл (в домашнем каталоге):

function nodejsupdate() {
    ARGC=$#
    version=latest
    if [ $ARGC != 0 ]; then
        version=$1
    fi
    sudo npm cache clean -f
    sudo npm install -g n
    sudo n $version
}

Перезапустите свой терминал после сохранения и напишите nodejsupdateдля обновления до последней версии Node.js или nodejsupdate v6.0.0(например) для обновления до определенной версии Node.js.

БОНУС: Обновите npm (добавьте эти строки в .bashrc)

function npmupdate() {
    sudo npm i npm -g
}

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

Теперь вы можете обновить Node.js и npm через ваш терминал (проще).


1

Все, что вам нужно для обновления версии Node.js:

$ brew install node

Если у вас нет Homebrew ; пожалуйста, зайдите http://brew.sh/ .


Homebrew работает не на всех платформах Node.js.
Дэвид Браун

Homebrew также не будет обновлять версию Node.js, установленную другими способами. Он будет установлен параллельно с ним.
Квентин

Обновление узла brew
sputn1k

0

Просто установите новую версию поверх текущей папки. Я обновил мой с v4.x до v6.10 на Windows.


0

В windows скачайте исполняемый файл узла с сайта и установите его. это сработало для меня.


-2
  1. npm clean cache - вы забыли почистить ваш кеш
  2. npm update -g

    Это работает на моей Windows, я надеюсь, что это также будет работать для вас: D


npm cache clean(другой порядок)
naXa

6
npm update -gКоманда обновляет все глобально установленные пакеты, но не сам node.js.
NAXA

-4

Если вы хотите обновить Node.js, просто попробуйте

npm update

из вашей командной строки Windows.

В противном случае, если вы хотите обновить какой-либо конкретный пакет, попробуйте

npm update <package_name>

Пример:

npm update phonegap

22
Это отличный ответ на другой вопрос.
kentcdodds

Это не работает для меня. Перед обновлением nmp узел --version сообщает 0.10.26. После выполнения обновления, та же версия. Хотя последняя версия 7.7.1 или аналогичная.
Джон Литтл

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