Как я могу обновить свой nodeJS до последней версии?


628

Я установил 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
Для установки nodejs лучше использовать nvm. Это означает «Диспетчер версий узлов». Вы можете очень легко установить несколько версий nodejs, переключаться между ними и устанавливать значения по умолчанию.
Мина Майкл

Ответы:


1109

Используйте модуль 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 и вашу возможность устанавливать новые.
Лоурр

12
но все же nodejs
версия версии


14
Не работает - после выполнения шагов node -vвсе равно дал мне 6 версию, а не 10.
Tomáš Zato

370

Полные инструкции по установке были загружены здесь Nodesource. Это скопировано ниже для вашей справки. Инструкции одинаковы для обновления до последней версии.

Node.js v12.x :

ПРИМЕЧАНИЕ. Если вы используете Ubuntu Precise или 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 Precise или 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 Precise или 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 Precise или 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 Precise или 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 Precise НЕ доступны для этого выпуска. Пожалуйста, укажите запуск 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 Precise или 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 Precise или 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 Precise или 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
отправлять

28

Этот PPA устарел и больше не поддерживается; Вы должны рассмотреть другие ответы вместо этого.

Вы можете установить последнюю версию из PPA:

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

13
Я думаю, что это был бы лучший ответ, если бы вы (также) предоставили не-ppa способ сделать это, ppas, как известно, известны как устаревшие и не поддерживаемые, по сути, делая ответ бесполезным.
pzkpfw

@ bigbadonk420 да, если вы просто погуглили, вероятно, лучше пропустить первую строку и просто обновить и установить - у меня работает с узлом 0.10.34
Capaj

@Capaj Нету. это не помогло ...
deostroll

6
Больше не рекомендую использовать этот ppa, кажется, он устарел.
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(или конкретный номер версии), чтобы использовать эту версию Node. Используйте, nvm lsчтобы увидеть, какие версии Node вы установили и nvm uninstall stable(или конкретный номер версии), чтобы удалить конкретную версию Node.

Источники: установка , использование


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

Извиняюсь за мою новизну. Обновленный ответ
амна

данный путь скручивания не работает. Я использовал "curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash", как указано в 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 правильную и актуальную настройку Node.
Хосе Л. Патиньо

Это также работает лучше всего для меня (у нас на EC2 были довольно древние nodejs, и я попробовал множество предложений, и только этот заставил его работать). Также 100% согласны с комментарием выше!
Шань Доу

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. * Из nodeource.

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

Затем вы можете использовать отслеживаемый .nvmrcфайл git для указания версии узла, необходимой для данного проекта: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-проект / 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

А затем запустите команду, передав эти переменные пользователю root:

sudo -E n stable


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

после запуска этой команды вы можете найти эту ошибку 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.