¿Cómo instalar el último NodeJS en Debian Jessie?

Acabo de instalar NodeJS y NPM en Debian Jessie usando el enfoque recomendado:

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

Sin embargo, es una versión bastante antigua (nodo v0.10.38 y npm 1.4.28).

¿Alguna sugerencia sobre la forma más fácil de instalar versiones más nuevas, por ejemplo, actualmente el nodo es v0.12.4 y npm es 2.7.4? ¿Instalar desde la fuente mi único enfoque?

Hay una secuencia de commands de configuration disponible para Node.js (consulte las instrucciones de installation ):

 # Adapt version number to the version you want curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - sudo apt-get install -y nodejs 

Un pequeño comentario: en mi humilde opinión, es una muy mala idea curl | sudo bash curl | sudo bash . Está ejecutando un script que no verificó con privilegios de administrador. Siempre es mejor download el script, leerlo, verificar si hay commands maliciosos y luego ejecutarlo. Pero eso es solo mi granito de arena.

La installation se puede realizar manualmente en unos pocos pasos siguiendo el procedimiento de installation manual :

  • Eliminar el antiguo PPA (si corresponde)
  • Añadir nodo repo ssh key
  • Agregar repository de nodos a sources.list
  • actualizar la list de packages e instalar usando la herramienta apt favorita

Puede download la última versión de Node ( 4.2.2 ) desde su website , en lugar de usar el package que proporciona Debian ( 0.12 ). Esto también significa que tienes una versión actualizada de npm. No he tenido ningún problema para hacer esto con Jessie.

Descargue .tar.gz de su website y cd en ese directory (el nombre del file es obviamente específico de mi descarga):

 $ tar -xzvf node-v4.2.2-linux-x64.tar.gz $ cd node-v4.2.2-linux-x64 

Si echas un vistazo a la carpeta bin verás los binarys que necesitas para node y npm:

 $ ls node-v4.2.2-linux-x64/bin node npm 

Ahora cambiaría el nombre de la carpeta a algo un poco más fácil de seguir.

 $ mv node-v4.2.2-linux-x64 nodejs 

Si no está interesado en mantener el nodo actualizado, simplemente mueva esta carpeta a una de las ubicaciones de su contenedor (uso ~/bin ) y omita el siguiente paso.

Si desea poder actualizar fácilmente su versión de nodo, mueva la carpeta nodejs algún lugar donde pueda hacer un seguimiento de ella ( ~/nodejs quizás?). Luego, desea crear un enlace simbólico a una de las ubicaciones de su compartimiento para que los binarys se puedan usar desde su caparazón sin escribir la ruta completa.

Suponiendo que coloque la carpeta nodejs en su directory de inicio ahora puede hacer:

 $ ln -s ~/nodejs ~/bin/nodejs 

Obviamente, esto puede ir a cualquier location de contenedor que desee. Utilicé mi directory personal para que solo esté disponible para mí, pero también podría hacerlo fácilmente:

 $ ln -s ~/nodejs /usr/local/bin/nodejs 

Esto creará un enlace simbólico desde la carpeta nodejs en su directory de inicio al directory bin (lo que significa que cualquier actualización del directory en su carpeta de inicio se refleja en la carpeta en otro lugar a través del enlace simbólico ). Ahora quiere asegurarse de que la carpeta bin que contiene el directory nodejs esté en su $PATH entorno $PATH , por lo que abra el file ~/.profile en su directory de inicio. Desea agregar esto al final de ese file (cambiando la ruta, si no usó ~/bin/ ):

 # Set the node PATH if it exists if [ -d "$HOME/bin/nodejs/bin" ] ; then PATH="$HOME/bin/nodejs/bin:$PATH" fi 

Esto verificará si el directory existe, y si lo hace, lo agrega a su RUTA. Yo uso zsh así que simplemente actualicé una línea en ~/.zshrc :

 export PATH="$HOME/bin/nodejs/bin:$PATH" 

Cierre su terminal y vuelva a abrir, luego escriba lo siguiente para verificar:

 $ node -v v4.2.2 $ npm -v 2.14.7 

Al crear el enlace sym, ahora significa que en el futuro, puede download un nuevo .tar.gz del website Nodejs, extraerlo a ~/nodejs , y los binarys que están disponibles para usted en su $PATH entorno $PATH son actualizado automáticamente

Puede seguir la documentation oficial de node.js para instalar la última versión con el administrador de packages.

Node.js v6:

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

Node.js v7:

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

Al ejecutar este último, el nodo v7.5.0 y npm v4.1.2 se instalaron en mi sistema. Los alias node y nodejs se habilitaron para el nodo automáticamente.

en mi caso, ejecuté los commands de shell recomendados:

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

el problema era que el guión de bash no actualizaba mi fijación de APT, por lo que apt-get instaló el package de Debian viejo por defecto de la fuente de debian.org y no de nodesource.com

compruebe que este es el problema con apt-cache policy nodejs . debería ver algo como Candidate: 6.10.2-1nodesource1~jessie1 y no Candidate: 0.10.29~dfsg-2

para establecer la prioridad pin en nodesource, agregue un file en /etc/apt/preferences.d/ llamado node o lo que sea con este contenido:

 Package: nodejs Pin: release o=Node Source Pin-Priority: 1200 

Guarde y ejecute apt-get cache update . luego intente apt-cache policy nodejs nuevamente. si el candidato se ve bien, instálelo de la manera habitual apt-get install nodejs

Puede download los últimos Binarios de Linux (.tar.gz) desde el sitio oficial y usarlos https://stackoverflow.com/a/23084499/1197421