Як оновити Node.js?


743

Я зробив наступне, щоб оновити npm:

npm update npm -g

Але я поняття не маю, як оновити Node.js. Будь-які пропозиції? (Я використовую Node.js 0.4.1 і хочу оновити до Node.js 0.6.1.)


5
Можливий дублікат: Як я можу оновити NodeJS та Npm для наступних версій? . (слід як мінімум бути пов’язаним)
блон


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

Будь ласка, відвідайте цей сайт, hostingadvice.com/how-to/update-node-js-latest-version, він включає всі методи оновлення вузла
Sulu.MeanStack

Все стало набагато простіше, оскільки вперше відповіли на це запитання (якщо вам не потрібно управління версіями): Усі платформи (Windows, Mac і Linux)
swelet

Відповіді:


476

Використовувати Менеджер версій вузла (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
FYI, команда для запуску одного разу після встановлення NVM - це "nvm install <version>". Наприклад, 'nvm install v0.8.7'
Кевін Лампінг

13
Вам цього не потрібно. Вузол - не Рубін.
fiatjaf

26
@SimonEast Є nvm для windows: github.com/coreybutler/nvm-windows
Phil Hannent

5
@PhilHannent, згідно зі сторінкою NVM github, вони не підтримують NVM у Windows, тому можна сказати, що "немає офіційного NVM для Windows"
Sudhanshu Mishra

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'
Майкл

28
Ще один крок. Закрийте та знову відкрийте термінал або, використовуючи ssh, вийдіть та увійдіть назад, щоб побачити новий node-v
isimmons

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

2
Здається, працює для мене, але просто перейшов за посиланням на Блог Девіда Уолша вище, і він прямо каже, що не використовувати його - будьте попереджені!
brianjlennon

391

Якщо у вас встановлений Homebrew (лише для macOS):

$ brew upgrade node

3
Погоджено, я просто запускаю "оновлення пива" кожні кілька днів, і я постійно в курсі останніх змін для всіх своїх пакетів
Глен Селле

3
Це біль, тому що це означає, що потрібно оновити xcode, що означає оновити osx ...
JGallardo

4
Шахта каже, що вузол не встановлений. Примітка: я не встановив вузол з домашньою мовою. Чи є ще щось, що я повинен зробити?
theonlygusti

2
Як встановити конкретну версію вузла за допомогою brew?
Shobhit Puri

2
Я написав це супер на початку своєї кар’єри, і з тих пір мав шанс спробувати купу різних технік. Я настійно рекомендую встановити nта використовувати це, якщо можете, і інша відповідь на цю тему: stackoverflow.com/a/19584407/392113
Буде

305

Це просте рішення, яке працює для всіх підтримуваних операційних систем *, включаючи Windows :

Після багато серфінгу і не знайшов прямого рішення я просто спробував перейти на сайт Node.js , натиснув кнопку СКАЧАТИ на домашній сторінці та виконав програму інсталятора (MSI).

На щастя, він подбав про все, і декількома клацаннями кнопки "Далі" я отримав останню версію Node.js, що працює на моїй машині Windows.

(ось оригінальна відповідь )

Завантажте кнопки NodeJS

Для Docker користувачів, ось офіційний Node.js зображення .


PS: Для перевірки версії Вашого вузла використовуйте 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 стільки разів, скільки мені хочеться, машина 10 може бачити лише 0.10.26. У "Додати видалити програми" я бачу лише 6.10.0.
Джон Малий

4
Чому саме ви б переглядали вікі-сторінки гіперпосилання операційних систем?
Буффало

8
Я віддаю перевагу CLI: D і я користувач Windows. npm install -g npm stableпотімnpm install -g node
Радіація

1
Як завжди у Windows, подвійне клацання - це все, що вам потрібно подбати про оновлення. Можна підтвердити, що оновлено кілька разів успішно, просто завантаживши останню версію та встановивши її.
Xavi3R Елвіс

255

Усі платформи (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 стільки разів, скільки мені хочеться, машина 10 може бачити лише 0.10.26. У "Додати видалити програми" я бачу лише 6.10.0. Я не можу знайти, як видалити або оновити цю стару версію, або як встановити нову версію над нею. Будь-які ідеї?
Джон Малий

3
Для останнього коментаря ви можете скористатися командою "де", щоб знайти виконуваний файл. Наприклад: "де node.exe". У моїй системі (win10) це дає "C: \ Program Files \ nodejs \ node.exe"
Dinesh Rajan

1
я погоджуюся, просто перейдіть на nodejs.org і завантажте, і воно оновиться все автоматично
росіяни

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-інсталятором. що це виправило для мене.
прибій

Це жахлива ідея. Чому? Більш пізні версії npm вимагають більш пізньої версії вузла. Тому ви можете оновити npm, а потім він перестане працювати, оскільки вам потрібна нова версія версії вузла. Таким чином, ви повернулися до початку, і тепер ваш npm порушено.
користувач3786992

1
його встановлення 6.8.0для npm, але я хочу 6.11для NodeJS, це добре використовуватиnpm install -g npm
Ashish

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

Примітка. Перш ніж використовувати cinstта, потрібно встановити Chocolatey cup.


1
Я отримував: Версія схеми 'Microsoft.AspNet.Mvc' несумісна з версією NuGet 2.1.31022.9038. Оновіть NuGet до останньої версії з go.microsoft.com/fwlink/?LinkId=213942 . Коли я спробував запустити cup 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'. Не вдалося встановити команду "встановити" (іноді це вказує на частковий збій). Додаткова інформація / пакунки: 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
Не працює на Windows.
бекдек

3
Також ви можете перемикатися між різними версіями nodejs, просто введіть "n" та виберіть потрібну вам версію
Михайло Мамаєв

2
Я не міг змусити його працювати і в Windows. Автор повинен опублікувати цей факт. Це було для мене тупиком.
Тім Харді

1
Він працює для мене в Windows в оболонці git bash. Тож якщо ви використовуєте git fire up git bash і спробуйте його там!
Зугвалт

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
mwotton

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
Працював для мене в екземплярі Linux AWS EC2
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
rinogo

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 останній / usr / bin / n: рядок 263: котрий: команда не знайдена / usr / bin / n: рядок 263: який: команда не знайдена
Олексій Ш.

@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
Marko Bonaci

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 для спрощення процесу, але я також запропонував йому завантажити останню версію з сайту та встановити її, що більш ніж достатньо для оновлення nodeJS, як він попросив. Отже, я думаю, що моя відповідь дає задовільне рішення для його питання.
Андре Мората

3
$ npm install -g npm stable

працював для мене, щоб оновити npm


4
Це для оновлення npm, і питання полягає в оновленні nodejs
Shivani Sharma

3

3

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

npm install -g npm@latest

завантажити останню версію node js та оновити / встановити


1
ви можете скинути @latestчастину, це типова поведінка для npm.
Pac0

3

Для macOS у 2018 р. І більше (оскільки ВСІ рішення, наведені вище, для мене не вдається):

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


2

Згідно з офіційною сторінкою Nodejs , ви можете встановити та оновити нову версію вузла на Windows за допомогою Chocolatey або Scoop

Використання (Chocolatey):

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

Якщо у вас немає домашньої мови ; будь ласка, перейдіть на сторінку http://brew.sh/ .


Homebrew працює не на всіх платформах, які робить Node.js.
Девід Браун

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

Вузол оновлення варіння
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 cmd-підказки.

В іншому випадку, якщо ви хочете оновити будь-який конкретний пакет, спробуйте

npm update <package_name>

Приклад:

npm update phonegap

22
Це чудова відповідь на інше питання.
kentcdodds

Це не працює для мене. Перш ніж робити nmp update, node --version повідомляє 0.10.26. Після оновлення, та сама версія. Навіть незважаючи на те, що остання версія 7.7.1 або схожа.
Джон Малий

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.