¿Cómo puedo actualizar mi nodeJS a la última versión?

628

He instalado nodeJS en Ubuntu con el siguiente código

sudo apt-get install nodejs

Como soy un nuevo usuario de ubuntu, también ejecuté este código

sudo apt-get install npm

Ahora cuando escribo

 nodejs --version

Muestra

v0.6.19

Verifiqué y vi la última versión de nodeJS es 0.10.26

¿Cómo puedo actualizar mi versión de nodeJS 0.10.26?

Lo intenté con

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

Pero sin suerte.

Kanishka Panamaldeniya
fuente
2
Es mejor usar nvm para instalar nodejs. Significa "Node Version Manager". Puede instalar fácilmente varias versiones de nodejs, cambiar entre ellas y establecer un valor predeterminado.
Mina Michael

Respuestas:

1108

Utilice el módulo n de npm para actualizar el nodo

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

Para actualizar a la última versión (y no la versión estable actual), puede usar

sudo n latest

Deshacer:

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 en el blog de David Walsh http://davidwalsh.name/upgrade-nodejs

eballeste
fuente
11
Esta debería ser la respuesta correcta. nes un paquete auxiliar de nodo que instala o actualiza una versión dada de node.js.
Martin
40
Aconsejaría firmemente no hacerlo en una instancia de producción. Puede estropear seriamente las cosas con sus paquetes npm globales y su capacidad para instalar nuevos.
Loourr
12
pero todavía nodejs --version sow 0.10.25
Mansuu ....
14
No funciona: después de seguir los pasos, node -vtodavía me dio la versión 6, no la 10.
Tomáš Zato
370

Las instrucciones completas de instalación han sido cargadas aquí por Nodesource. Se copia a continuación para su referencia. Las instrucciones son las mismas para actualizar a la última versión.

Node.js v12.x :

NOTA: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 6.x en distribuciones anteriores

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 6.x en distribuciones anteriores

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 6.x en distribuciones anteriores

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 6.x en distribuciones anteriores

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 6.x en distribuciones anteriores

# 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: los paquetes Debian Wheezy y Ubuntu Precise NO están disponibles para esta versión. Consulte la ejecución de Node.js> = 4.x en distribuciones anteriores

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 4.x en distribuciones anteriores .

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 4.x en distribuciones anteriores .

# 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: Si está utilizando Ubuntu Precise o Debian Wheezy, es posible que desee leer acerca de cómo ejecutar Node.js> = 4.x en distribuciones anteriores .

# 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: esta rama de io.js no se mantiene activamente y no se recomienda para uso en producción.

# 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
fuente
Aconsejaría eliminar la información desactualizada o moverla al final de la pregunta, para que la información actual se lea primero.
k0pernikus
2
¡Esta es la respuesta que me funcionó!
eri0o
1
Para todos los idiotas confundidos como yo, parece que ejecutar la instalación reemplazará efectivamente lo que hayas tenido antes. Así que creo que puede realizar una actualización o una degradación con este proceso. He actualizado de V8 a V10 y vi este mensaje en los registros de instalación: Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ..., corriendo node -vdespués de la instalación felizmente muestra v10.15.0que es lo que quiero.
icc97
2
curl {anything} | sudo bash -es una terrible práctica de seguridad
krubo
1
@krubo Estoy de acuerdo. El usuario debe examinar el script antes de ejecutarlo. Sin embargo, es de una fuente confiable ( nodesource.com) y la conexión está asegurada por HTTPS, por lo que hay una cantidad adecuada de confianza que puede depositar en esos scripts. Pero sí, en general, verifique los guiones antes de canalizarlossudo bash
dayuloli
28

Este PPA está desactualizado y ya no se mantiene; Debería considerar otras respuestas en lugar de esta.

Puede instalar la última versión de PPA:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs
Walid Saad
fuente
13
Creo que esta sería una mejor respuesta si (también) proporcionara una forma no ppa de hacer esto, los ppas son notoriamente conocidos por quedar obsoletos y sin mantenimiento, esencialmente haciendo que la respuesta sea inútil.
pzkpfw
@ bigbadonk420 sí, si lo buscaste en Google, probablemente sea mejor omitir la primera línea y simplemente actualizar e instalar, funcionó para mí con el nodo 0.10.34
Capaj
@Capaj no. eso no ayudó ...
deostroll
66
No recomiendo usar este ppa más, parece estar bastante desactualizado.
Kzqai
19

Yo uso NVM para manejar mis versiones de Nodo. Muy simple de configurar y 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 NVM globalmente, use el siguiente comando curl en lugar del anterior (y presumiblemente no use el segundo comando, pero sí use el tercero)

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

Luego use nvm install stable(o inserte un número de versión en lugar de stable) para obtener la última / una versión específica de Node. Use nvm use stable(o un número de versión específico) para usar esa versión de Nodo. Use nvm lspara ver qué versiones de Nodo ha instalado y nvm uninstall stable(o un número de versión específico) para eliminar una versión específica de Node.

Fuentes: Instalar , de uso

amnah
fuente
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Warren Hill
Disculpas por mi novato. Respuesta actualizada
amnah
la ruta de curvatura dada no funciona. Usé "curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash" como se da en github.com/creationix/nvm
Senthil
No olvide actualizar la parte de la URL a la última versión de nvm
Nidhin David
16

También recomiendo usar nvm en su lugar, y también eliminar la versión ya instalada para evitar conflictos en el terminal

sudo apt purge nodejs npm

luego instala nvm y úsalo

Explicación de video

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

descargar e instalar nvm

nvm install node

debe descargar e instalar la última versión del nodo.

Para actualizar el nodo más adelante, simplemente haga

nvm install node
nvm alias default node
Mina Michael
fuente
44
Esta debería ser la única respuesta aceptada, en caso de que desee tener una configuración de nodo sana y actualizada en Ubuntu.
José L. Patiño
Esto también funciona mejor para mí (tengo nodos bastante antiguos en nuestro EC2 y probé muchas sugerencias y solo esta funcionó). ¡También 100% de acuerdo con el comentario anterior!
Shan Dou
nvminstala Node.js por usuario. El uso nvmno le dará un nodecomando para todo el sistema . Por lo tanto, aconsejaría no eliminar el sistema / global nodepara que los scripts se ejecuten como otro usuario aún puede ejecutar node.
d4nyll
4

Intenté los mismos comandos de lista en mi ubuntu 14.04 pero todavía arrojaba un error.

Los comandos que ejecuté fueron:

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

y el error que estaba recibiendo:

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

Lo que descubrí fue que la utilidad curl no estaba instalada en mi sistema operativo.

Ejecuté el comando:

apt-get install curl

(use sudocomo prefijo si no lo está su)

y luego repitió los pasos sugeridos en respuesta y funcionó;)

Priyank Thakkar
fuente
2

Éste instala el último nodo v0.12. * De nodeource.

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

Para el nodo v4.x

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Kunal Kapadia
fuente
2
¿Estás instalando un nodo desde cero? La pregunta era sobre la actualización, no la instalación
Verde
2

Usar nvm es el método preferido. Primero instale nvm:

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

Luego instale nodejs:

nvm install node

Ahora, puede cambiar fácilmente las versiones del nodo.

Damjan Pavlica
fuente
2

NVM (administrador de versión de nodo) con --lts

NVM se mencionó en: https://askubuntu.com/a/441527/52975, pero aquí hay un ejemplo de uso más completo, incluida la --ltsversión sensata .

NVM instala el último nodo estable y npm para usted

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

Ahora pruébelo con un paquete ficticio:

npm install --global vaca
vaca

Dado que el abastecimiento debe realizarse para cada nuevo shell, los hacks de script de instalación agregan un abastecimiento automático al final de su .barshrc. Eso funciona, pero prefiero eliminar el agregado automático y agregar el mío:

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

Ventajas:

  • le permite usar múltiples versiones de Node y sin sudo

  • es análogo a Ruby RVM y Python Virtualenv, ampliamente considerado como la mejor práctica en las comunidades de Ruby y Python

  • descarga un binario precompilado siempre que sea posible, y si no, descarga la fuente y compila uno para usted

Podemos cambiar fácilmente las versiones de nodo con:

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

Luego puede usar un .nvmrcarchivo con seguimiento de git para indicar la versión de nodo requerida para un proyecto dado: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-proyecto / 54503474 # 54503474

Probado en Ubuntu 17.10.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
fuente
1

Le sugiero que primero elimine todas las instalaciones de nodejs y luego ejecute el siguiente script una vez que edite con la versión deseada de nodejs y su directorio padre de instalación

ver todas las versiones disponibles de nodejs

https://nodejs.org/dist/

El siguiente script le permitirá instalar cualquiera de esas versiones de nodejs en Linux u 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
fuente
1

Si el uso nno funciona, puede instalar la última versión de nodejs(es decir, la versión 8) ejecutando los siguientes comandos:

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

sudo apt-get install -y nodejs

Más instrucciones están aquí .

ratón inteligente
fuente
0

Si está detrás de un proxy, tal vez pueda obtener este error cuando ejecute 'sudo n stable':

Error: invalid version

Debe configurar las variables env de esta manera:

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

Y luego ejecute el comando pasando estas variables al usuario raíz:

sudo -E n stable
luandrea
fuente
Créditos a: github.com/tj/n/issues/430
luandrea
0

Estoy tratando de instalar a través de nvm, que se respondió anteriormente, pero tengo un error en ubuntu 18.04. entonces paso por este proceso

sudo apt purge nodejs npm

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

nvm install node

después de ejecutar este comando, puede encontrar ese error Command 'nvm' not found, did you mean:

en ese caso puedes ejecutar este comando

source ~/.nvm/nvm.sh

O puede ponerlo en el archivo /.bashrc o ~ / .profile para cargarlo automáticamente

después de eso puedes seguir el siguiente proceso

nvm install node
nvm alias default node
sayalok
fuente