Як я можу оновити свій nodeJS до останньої версії?


626

Я встановив nodeJS на Ubuntu з наступним кодом

sudo apt-get install nodejs

Оскільки я новий користувач для ubuntu, я також запускав цей код

sudo apt-get install npm

Тепер, коли я друкую

 nodejs --version

Це показує

v0.6.19

Я перевірив і побачив останню версію nodeJS 0.10.26

Як я можу оновити свою версію nodeJS 0.10.26?

Я спробував

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>

але не везіння


2
Краще використовувати nvm для встановлення nodejs. Він розшифровується як "Менеджер версій вузла". Ви можете дуже легко встановити кілька версій вузлів, перемикатися між ними та встановити за замовчуванням.
Міна Майкл

Відповіді:


1107

Використовуйте n модуль з npm для оновлення вузла

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

Щоб оновити до останньої (а не поточної стабільної) версії, ви можете використовувати

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

Знайдено в блозі Девіда Уолша http://davidwalsh.name/upgrade-nodejs


11
це має бути правильна відповідь. nце пакет помічників вузлів, який встановлює або оновлює задану версію node.js.
Мартін

40
Я б настійно не радив цього робити у виробничому екземплярі. Це може серйозно заплутатися з вашими глобальними пакетами npm та вашою здатністю встановлювати нові.
Loourr

12
але все ще nodejs
версія


14
Не працює - виконуючи кроки, node -vвсе-таки дав мені 6 версій, а не 10.
Томаш Зато

368

Повні інструкції з монтажу з цього часу завантажені сюди Nodesource. Це скопійовано нижче для довідки. Інструкції однакові для оновлення до останньої версії.

Node.js v12.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 6.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

Node.js v11.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 6.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

Node.js v10.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 6.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Node.js v9.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 6.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs

Node.js v8.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 6.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

Node.js v7.x :

ПРИМІТКА. Пакети Debian Wheezy та Ubuntu Precision НЕ доступні для цієї версії. Зверніться до запуску Node.js> = 4.x у старих дистрибутивах

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

Node.js v6.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 4.x на старих дистрибутивах .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs

Node.js v5.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 4.x на старих дистрибутивах .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

Node.js v4.x :

ПРИМІТКА. Якщо ви використовуєте Ubuntu Precision або Debian Wheezy, ви можете прочитати про запуск Node.js> = 4.x на старих дистрибутивах .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

Node.js v0.12 :

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs

Node.js v0.10 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs

io.js v3.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs

io.js v2.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs

io.js v1.x :

Примітка: ця гілка io.js не підтримується активно і не рекомендується для використання у виробництві.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs

Я б радив або видалити застарілу інформацію, або перемістити їх до нижньої частини питання, щоб спочатку прочитати поточну інформацію.
k0pernikus

2
Це відповідь, яка працювала на мене!
eri0o

1
Для всіх розгублених ідіотів, як я, схоже, що запуск установки ефективно замінить те, що ви мали раніше. Тому я думаю, що ви можете здійснити або оновлення, або оновлення за допомогою цього процесу. Я перейшов з v8 до v10, і я помітив це повідомлення в журналах встановлення:, що Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ...працює node -vпісля встановлення, радісно відображає v10.15.0те, що я хочу.
icc97

2
curl {anything} | sudo bash -жахлива практика безпеки
крубо

1
@krubo Я згоден. Користувач повинен вивчити сценарій перед його запуском. Тим НЕ менше, це від авторитетного джерела ( nodesource.com) і з'єднання забезпечується з допомогою HTTPS, так що є достатня кількість довіри , яке Ви можете розмістити в цих сценаріях. Але так, загалом, перевірте сценарії, перш ніж передати йогоsudo bash
dayuloli

28

Цей договір про державний договір застарів і більше не підтримується; вам слід розглянути інші відповіді замість цієї.

Ви можете встановити останню версію з PPA:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

13
Я думаю, що це буде кращою відповіддю, якби ви (також) надали спосіб, який не стосується PPA, це, як відомо, папи, як відомо, застаріли і залишаються незмінними, по суті роблячи відповідь марною.
pzkpfw

@ bigbadonk420 Так, якщо ви просто гуглили його, ймовірно, краще пропустити перший рядок і просто оновити та встановити для мене роботу з вузлом 0.10.34
Capaj,

@Capaj nope. це не допомогло ...
deostroll

6
Не рекомендуйте більше використовувати цю програму, вона здається застарілою.
Kzqai

19

Я використовую NVM для обробки моїх версій Node. Дуже простий у налаштуванні та простий у користуванні.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Щоб встановити NVM в усьому світі, використовуйте наступну команду curl замість вищевказаної (і, мабуть, не використовуйте другу команду, а використовуйте третю)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | NVM_DIR=/usr/local/nvm bash

Потім використовуйте nvm install stable(або вставляйте номер версії замість stable), щоб отримати останню / конкретну версію Node. Використовуйте nvm use stable(або певний номер версії), щоб використовувати цю версію вузла. Використовуйте nvm lsдля перегляду встановлених версій Node та nvm uninstall stable(або певного номера версії), щоб видалити конкретну версію Node.

Джерела: Установка , використання


Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Уоррен Хілл

Вибачте за моє нобби. Оновлена ​​відповідь
amnah

заданий шлях згортання не працює. Я використовував «згорнутися raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | Баш» , як зазначено в github.com/creationix/nvm
Senthil

Не забудьте оновити частину url до останньої версії nvm
Nidhin David

16

Я також рекомендую замість цього використовувати nvm, а також видалити вже встановлену версію, щоб уникнути конфліктів у терміналі

sudo apt purge nodejs npm

потім встановіть nvm і використовуйте його

Відео Пояснення

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

завантажити та встановити nvm

nvm install node

слід завантажити та встановити останню версію вузла.

Щоб оновити вузол пізніше, просто зробіть

nvm install node
nvm alias default node

4
Це має бути єдиною прийнятою відповіддю - на випадок, якщо ви хочете мати розумну та актуальну настройку вузла в Ubuntu.
Хосе Л. Патіньо

Це також найкраще працює для мене (є досить стародавні nodejs на нашому EC2 і спробував багато пропозицій, і лише цей змусив його працювати). Також 100% згоден з коментарем вище!
Shan Dou

nvmвстановлює Node.js на основі кожного користувача. Використання nvmне дасть вам загальносистемних nodeкоманд. Тому я радив би не видаляти глобальну / систему, nodeщоб сценарії виконувались як інші користувачі node.
d4nyll

4

Я спробував ті ж команди списку на моєму ubuntu 14.04, але він все ще кидав помилку.

Команди, які я виконував:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

і помилка, яку я отримував:

Invalid version 0.12.2
Line 299: curl not found in /bin/n

Що я зрозумів, що утиліта curl не була встановлена ​​на моєму комп'ютері.

Я виконав команду:

apt-get install curl

(використовувати його sudoяк префікс, якщо його немає su)

а потім повторить кроки, запропоновані у відповідь, і це спрацює;)


2

Цей встановлює останній вузол v0.12. * З nodesource.

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

Для вузла v4.x

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

2
Ви встановлюєте вузол з нуля? Питання стосувалося оновлення не встановлення
Зелений

2

Використання nvm є кращим методом. Спочатку встановіть nvm:

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

Потім встановіть nodejs:

nvm install node

Тепер ви можете легко перемикати версії вузла.


2

NVM (менеджер версій вузла) з --lts

Про NVM згадували за адресою: https://askubuntu.com/a/441527/52975, але тут подається більш повний приклад використання, включаючи здорову --ltsверсію.

NVM встановлює для вас як останній стабільний вузол, так і npm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

Тепер протестуйте його за допомогою пакета манекенів:

npm install --global vaca
vaca

Оскільки пошук джерел повинен бути виконаний для кожної нової оболонки, хакерський сценарій встановлення додає деякий автоматичний пошук у кінці вашого .barshrc. Це працює, але я віддаю перевагу видалити доданий автоматично та додати власний:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

Переваги:

  • дозволяє використовувати декілька версій Node та без sudo

  • є аналогом Ruby RVM та Python Virtualenv, що широко вважається найкращою практикою у спільнотах Ruby та Python

  • завантажує попередньо складений двійковий файл, де це можливо, а якщо ні, він завантажує джерело і компілює його для вас

Ми можемо легко перемикати версії вузлів за допомогою:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

Потім ви можете відслідковувати git- .nvmrcфайл, щоб вказати версію вузла, необхідну для даного проекту: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for проект / 54503474 # 54503474

Тестовано в Ubuntu 17.10.


1

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

переглянути всі доступні версії nodejs

https://nodejs.org/dist/

нижче сценарій дозволить вам встановити будь-яку з цих версій nodejs на Linux або OSX

#!/bin/bash

#     usage :
#
#     edit two vars in below :  NODE_VER  and  CODE_PARENT_DIR
#
# ... execute this script as yourself unless you choose a root owned value for var CODE_PARENT_DIR
#     whichever id you execute this as determines the id you will issue npm commands as :  npm install -g foo-bar
#
#     NOTE - nodejs comes bundled with npm ... so no need to do separate npm install
#            this scripts runs fine on linux or OSX

# ...  copy all the lines starting here  .. top of copy  ....   and ending ... end of copy  ...
#      and paste into your ~/.bashrc file so proper env vars get set 

# ............... top of copy  ........................  install_node.sh

# export NODE_VER=v7.2.0  # see available versions at https://nodejs.org/dist/
# export NODE_VER=v8.5.0  # edit this line next time you need to update nodejs  
export NODE_VER=v9.3.0  # edit this line next time you need to update nodejs

# ...  pick parent dir of nodejs install  ... comment out or remove ONE of below
# export CODE_PARENT_DIR=/opt/code  # root owned dir ... requires you to sudo prior to npm install going forward
export CODE_PARENT_DIR=${HOME}    # RECOMMENDED execute as yourself including npm install

# ......... following env vars are OK no edits needed ... only ever need to edit above vars

curr_OS=$( uname )

echo curr_OS $curr_OS

if [[ "${curr_OS}" == "Darwin" ]]; then

    OS_ARCH=darwin-x64

elif [[ "${curr_OS}" == "Linux" ]]; then

    OS_ARCH=linux-x64
else
    echo "ERROR - failed to recognize OS $curr_OS"
    exit 5
fi

if [[ -z ${CODE_PARENT_DIR} ]]; then

    echo "ERROR - failed to see env var CODE_PARENT_DIR"
    exit 5
fi

export NODE_CODEDIR=${CODE_PARENT_DIR}/nodejs
export COMSUFFIX=tar.gz
export NODE_NAME=node-${NODE_VER}
export NODE_PARENT=${NODE_CODEDIR}/${NODE_NAME}-${OS_ARCH} 

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

# ............... end of copy  ........................  install_node.sh

# copy and paste above from ... top of copy ... to here into your file ~/.bashrc   

echo
echo "NODE_CODEDIR $NODE_CODEDIR<--"
echo

echo "mkdir -p ${NODE_CODEDIR}"
echo
      mkdir -p ${NODE_CODEDIR}
echo

echo "cd ${NODE_CODEDIR}"
      cd ${NODE_CODEDIR}
echo

# this is compiled code NOT source

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

echo "wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

echo "tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

# ...........  done ........... #

which node

node --version

# ....  bottom of file   install_node.sh

1

Якщо використання nне працює, ви можете встановити останню версію nodejs(тобто версію 8) із виконанням наступних команд:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

Подальші інструкції можна знайти тут .


0

Якщо ви стоїте за проксі-сервером, можливо, ви можете отримати цю помилку під час запуску "sudo n stable":

Error: invalid version

Ви повинні встановити такі змінні env:

export HTTP_PROXY=http://your-proxy-url:port
export HTTPS_PROXY=http://your-proxy-url:port

А потім запустіть команду, передаючи ці змінні кореневому користувачеві:

sudo -E n stable

Кредити на: github.com/tj/n/isissue/430
luandrea

0

Я намагаюся встановити через nvm, на який відповіли вище, але зіткнувся з деякою помилкою в ubuntu 18.04. то я проходжу цей процес

sudo apt purge nodejs npm

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

nvm install node

після запуску цієї команди u може виявити цю помилку Command 'nvm' not found, did you mean:

у такому випадку ви можете запустити цю команду

source ~/.nvm/nvm.sh

АБО ви можете помістити його у файл /.bashrc або ~ / .profile, щоб автоматично завантажити його

після цього ви можете провести наступний процес

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