Como posso atualizar meu nodeJS para a versão mais recente?


628

Instalei o nodeJS no Ubuntu com o seguinte código

sudo apt-get install nodejs

Como sou um novo usuário do ubuntu, também executei esse código

sudo apt-get install npm

Agora, quando eu digito

 nodejs --version

Isto mostra

v0.6.19

Eu verifiquei e vi a versão mais recente do nodeJS 0.10.26

Como posso atualizar minha versão do nodeJS para 0.10.26?

Eu tentei com

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

mas sem sorte.


2
É melhor usar o nvm para instalar o nodejs. Significa "Node Version Manager". Você pode facilmente instalar várias versões do nodejs, alternar entre elas e definir um padrão.
— Mina Michael

Respostas:


1108

Use o módulo n do npm para atualizar o nó

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

Para atualizar para a versão mais recente (e não estável atual), você pode usar

sudo n latest

Desfazer:

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

Encontrado no blog de David Walsh http://davidwalsh.name/upgrade-nodejs


11
essa deve ser a resposta correta. né um pacote auxiliar do nó que instala ou atualiza uma determinada versão do node.js.
— Martin

40
Eu recomendaria fortemente não fazer isso em uma instância de produção. Isso pode atrapalhar seriamente os pacotes npm globais e a capacidade de instalar novos.
— Loourr

12
mas ainda assim nodejs --version sow 0.10.25
— Mansuu ....


14
Não trabalhar - depois de seguir os passos, node -vainda me deu a versão 6, não 10.
— Tomáš Zato

370

As instruções completas de instalação foram carregadas aqui pela Nodesource. É copiado abaixo para sua referência. As instruções são as mesmas para atualizar para a versão mais recente.

Node.js v12.x :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 6.x em distros mais antigas

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 6.x em distros mais antigas

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 6.x em distros mais antigas

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 6.x em distros mais antigas

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 6.x em distros mais antigas

# 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 :

NOTA: Os pacotes Debian Wheezy e Ubuntu Precise NÃO estão disponíveis para esta versão. Consulte executando Node.js> = 4.x em distros mais antigas

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 4.x em distros mais antigas .

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 4.x em distros mais antigas .

# 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 :

NOTA: Se você estiver usando o Ubuntu Precise ou o Debian Wheezy, talvez queira ler sobre a execução do Node.js> = 4.x em distros mais antigas .

# 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 :

Nota: este ramo do io.js. não é mantido ativamente e não é recomendado para uso em produção.

# 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

Eu recomendaria remover as informações desatualizadas ou movê-las para o final da pergunta, para que as informações atuais sejam lidas primeiro.
— K0pernikus

2
Esta é a resposta que funcionou para mim!
— eri0o

1
Para todos os idiotas confusos como eu, parece que executar a instalação substituirá efetivamente o que você já teve antes. Então, acho que você pode executar uma atualização ou um downgrade com esse processo. Atualizei da v8 para a v10 e localizei esta mensagem nos logs de instalação:, Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ...sendo executada node -vapós a instalação exibir com satisfação v10.15.0qual é o que eu quero.
— icc97 23/01

2
curl {anything} | sudo bash -é uma prática terrível de segurança
— krubo 26/06

1
@krubo Eu concordo. O usuário deve examinar o script antes de executá-lo. No entanto, é de uma fonte respeitável ( nodesource.com) e a conexão é protegida por HTTPS; portanto, há uma quantidade adequada de confiança que você pode depositar nesses scripts. Mas sim, em geral, verifique os scripts antes de sudo bash
— enviá-

28

Este PPA está desatualizado e não é mais mantido; você deve considerar outras respostas em vez desta.

Você pode instalar a versão mais recente do PPA:

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

13
Eu acho que essa seria uma resposta melhor se você (também) fornecesse uma maneira não-ppa de fazer isso, os ppas são notoriamente conhecidos por se tornarem desatualizados e sem manutenção, essencialmente tornando a resposta inútil.
— Pzkpfw

@ bigbadonk420 sim, se você apenas pesquisou no Google, provavelmente é melhor pular a primeira linha e apenas atualizar e instalar-funcionou para mim com o nó 0.10.34 #
— Capaj

@Capaj nope. Isso não ajudou ...
— deostroll

6
Não recomende mais usar este ppa, pois parece um pouco desatualizado.
— Kzqai

19

Eu uso o NVM para lidar com minhas versões de nó. Muito simples de configurar e fácil de usar.

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

Para instalar o NVM globalmente, use o seguinte comando curl em vez do comando acima (e presumivelmente não use o segundo comando, mas o terceiro)

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

Em seguida, use nvm install stable(ou insira um número de versão em vez de stable) para obter a versão mais recente / específica de Node. Use nvm use stable(ou um número de versão específico) para usar essa versão do Nó. Use nvm lspara ver quais versões do Node você instalou e nvm uninstall stable(ou um número de versão específico) para remover uma versão específica do Node.

Fontes: instalação , uso


Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
— Warren Hill

Desculpas pelo meu noobness. Resposta atualizada
— amnah 31/03

o caminho de ondulação fornecido não está funcionando. Eu usei o "enrolar raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash" como dado na github.com/creationix/nvm
— Senthil

Não se esqueça de atualizar a parte url para a versão mais recente de NVM
— Nidhin David

16

Também recomendo usar o nvm e também remover a versão já instalada para evitar conflitos no terminal

sudo apt purge nodejs npm

instale o nvm e use-o

Explicação em vídeo

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

baixar e instalar o nvm

nvm install node

deve baixar e instalar a versão mais recente do nó.

Para atualizar o nó mais tarde, basta fazer

nvm install node
nvm alias default node

4
Essa deve ser a única resposta aceita - caso você queira ter uma configuração de Nó sã e atualizada no Ubuntu.
— José L. Patiño

Isso também funciona melhor para mim (tenho nodejs bastante antigos no nosso EC2 e tentei muitas sugestões e apenas este o fez funcionar). Também 100% concorda com o comentário acima!
— Shan Dou

nvminstala o Node.js por usuário. O uso nvmnão fornecerá um nodecomando para todo o sistema . Portanto, aconselho a não remover o sistema global /, nodepara que os scripts em execução como outro usuário ainda possam ser executados node.
— d4nyll 25/07

4

Eu tentei os mesmos comandos da lista no meu ubuntu 14.04, mas ele ainda estava apresentando um erro.

Os comandos que eu executei foram:

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

e o erro que eu estava recebendo:

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

O que eu descobri foi que o utilitário curl não estava instalado no meu sistema operacional.

Eu executei o comando:

apt-get install curl

(use sudocomo prefixo se não estiver su)

e, em seguida, repetiu as etapas sugeridas em resposta e funciona;)


2

Este instala o nó mais recente v0.12. * Do nodesource.

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

Para o nó v4.x

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

2
Você está instalando o nó do zero? A pergunta era sobre a atualização não instalar
— Verde

2

O uso do nvm é o método preferido. Primeiro instale o nvm:

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

Em seguida, instale o nodejs:

nvm install node

Agora, você pode alternar facilmente as versões do nó.


2

NVM (gerenciador de versão de nós) com --lts

O NVM foi mencionado em: https://askubuntu.com/a/441527/52975, mas aqui está um exemplo de uso mais completo, incluindo a --ltsversão sã .

O NVM instala o nó estável mais recente e o npm para você

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

Agora teste-o com um pacote fictício:

npm install --global vaca
vaca

Como a fonte precisa ser feita para cada novo shell, o script de instalação hacks adiciona uma fonte automática ao final da sua .barshrc. Isso funciona, mas eu prefiro remover o adicionado automaticamente e adicionar o meu:

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

Vantagens:

  • permite usar várias versões do Node e sem o sudo

  • é análogo ao Ruby RVM e ao Python Virtualenv, amplamente considerado uma boa prática em comunidades Ruby e Python

  • baixa um binário pré-compilado sempre que possível; caso contrário, ele baixa a fonte e compila uma para você

Podemos alternar facilmente as versões dos nós com:

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

Em seguida, você pode usar um .nvmrcarquivo rastreado git para indicar a versão do nó necessária para um determinado projeto: https://stackoverflow.com/questions/24869959/how-do-i-spspify-a-local-version-of-node-for -a-project / 54503474 # 54503474

Testado no Ubuntu 17.10.


1

Sugiro que você primeiro remova todas as instalações do nodejs e execute o script abaixo depois de editar com a versão do nodejs desejada e seu diretório pai de instalação

ver todas as versões disponíveis do nodejs

https://nodejs.org/dist/

O script abaixo permitirá que você instale qualquer uma dessas versões do nodejs no linux ou 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

Se o uso nnão funcionar, você pode instalar a versão mais recente nodejs(ou seja, versão 8) executando os seguintes comandos:

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

sudo apt-get install -y nodejs

Mais instruções estão aqui .


0

Se você está atrás de um proxy, talvez possa receber esse erro ao executar 'sudo n stable':

Error: invalid version

Você precisa definir as variáveis ​​env como esta:

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

E, em seguida, execute o comando passando essas variáveis ​​para o usuário root:

sudo -E n stable


0

Estou tentando instalar via nvm, que foi respondido acima, mas enfrenta algum erro no ubuntu 18.04. então eu passo por esse processo

sudo apt purge nodejs npm

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

nvm install node

depois de executar este comando, você poderá encontrar esse erro Command 'nvm' not found, did you mean:

nesse caso, você pode executar este comando

source ~/.nvm/nvm.sh

OU você pode colocá-lo no arquivo /.bashrc ou ~ / .profile para carregá-lo automaticamente

depois disso você pode através do próximo processo

nvm install node
nvm alias default node
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.