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.

Kanishka Panamaldeniya
fonte
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

eballeste
fonte
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
dayuloli
fonte
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
Walid Saad
fonte
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

amnah
fonte
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
Mina Michael
fonte
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;)

Priyank Thakkar
fonte
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
Kunal Kapadia
fonte
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ó.

Damjan Pavlica
fonte
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.

Ciro Santilli adicionou uma nova foto
fonte
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
Scott Stensland
fonte
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 .

smartmouse
fonte
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
luandrea
fonte
Créditos para: github.com/tj/n/issues/430
luandrea
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
sayalok
fonte