¿Cómo instalar NodeJS 4 usando apt?


Respuestas:


75

Las instrucciones se tomaron desde aquí: https://github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

y entonces:

sudo apt-get install nodejs

Aquí están las versiones del sistema:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2

@jarserver - "Los siguientes paquetes tienen dependencias insatisfechas: nodejs: Depende: rlwrap pero no es instalable E: Incapaz de corregir problemas, ha retenido paquetes rotos". - Error al instalar apt-get. ¿Cómo arreglar esto?
Kumar Sambhav

@KumarSambhav parece que la base de datos de su paquete está en un estado roto, busque en el sitio cómo solucionar el estado roto.
Battlemidget

Esto no funciona para mí en ubuntu 15.10 Siempre instala v0.10.25 (versión más baja que el OP, así que no tengo idea de lo que está pasando ...)
HankScorpio

@HankScorpio Parece que el apt-repo no se actualizó. Intente seguir las instrucciones de instalación manual ( github.com/nodesource/distributions#manual-installation ) y vea si eso lo soluciona.
jarsever

Sí, ese era el problema. Faltaban algunas claves GPG (sean las que sean), por apt-get updatelo que fallaba cada vez. Solía y-ppa-managersolucionar el problema y ahora tengo la última versión de NodeJS 4.
HankScorpio

37

Node Version Manager siempre tiene lo último

Creo firmemente que instalar Node con Node Version Manager es la mejor opción en Ubuntu, si lo está instalando en una computadora donde tiene la intención de desarrollar (en lugar de un servidor de producción).

Cuando instalas a través de los repositorios oficiales, terminas con algo terriblemente desactualizado. Siempre puede agregar un PPA, pero seguirá teniendo permisos desordenados donde la instalación global de módulos desde npm requiere privilegios de administrador.

Con NVM, todo se guarda en su carpeta de inicio (por lo que no es necesario sudo), y puede instalar varias versiones de Node (incluida 4.0) y cambiar entre ellas con facilidad.

Instalación con NVM

Tomado de las instrucciones de instalación de NVM :

Tome la última copia de NVM (es posible que sudo apt-get install curlprimero necesite ):

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

Dígale a su shell que use nvm(puede agregar esto para ~/.bashrcque ocurra automáticamente en el futuro):

source ~/.nvm/nvm.sh

Luego instale la última versión del nodo:

nvm install 4.0

Y dile a nvm qué versión de Node quieres usar:

nvm use 4.0

También es posible que desee agregar la nvm use 4.0línea a su ~/.bashrc, para que no tenga que elegir una versión de nodo cada vez que inicie su terminal.

Ahora, si lo marca which node, debería darle una ruta al nodo ejecutable dentro de su carpeta de inicio. Correr node --versiondebería decirte que estás corriendo v4.0.0.


66
No creo que el comentario de permisos desordenados sea exacto, instalo el nodo de nodeource apt repo y puedo ejecutar e instalar módulos de nodo en mi directorio de inicio local (incluida la opción global -g). Todo lo que se necesita es actualizar ~ / .npmrc para definir su directorio de prefijos.
Battlemidget

3
Ah, ese es un punto muy justo. Todavía soy fanático de nvm para el aspecto de administración de versiones, pero si eso no es lo tuyo, establecer un prefijo ~/.npmrcdefinitivamente parece ser la forma correcta de manejar los permisos para los módulos globales.
Michael Martin-Smucker

Creo que la nota "desactualizada" sobre los repositorios oficiales, en la respuesta es un poco ... desactualizada ;-) Los repositorios oficiales ahora admiten cualquier versión publicada públicamente en un tren de lanzamiento compatible: hay repositorios para las versiones 6, 7 y incluso 8, y ha sido así desde al menos mi respuesta a continuación (15/10)
Guss

36

Con kudus para @jarsever, personalmente no me suscribo al paradigma " curl | sh ".

Si siente el mismo tipo de inquietud que yo cuando me piden que simplemente conecte un texto arbitrario fuera de Internet y al proceso de shell de una cuenta raíz, entonces puede intentar esto por el mismo efecto pero con (un poco) menos temor, incertidumbre y duda:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

Creo que el proceso debería ser claro, y también puedes hacer lo mismo a través de la interfaz de usuario de las propiedades de software de Ubuntu.


¿Hay alguna desventaja en hacerlo de esta manera? Parece la mejor opción ...
Catskul

66
¿Es más de una línea y le permite aprender sobre su sistema? ... A algunas personas no les gusta eso, creo, esa es la única forma en que puedo explicar el curl|shfenómeno.
Guss

3
Además de aprender sobre el administrador de paquetes de su sistema operativo, también es un problema de seguridad. curl|shextrae un script de un servidor y lo ejecuta directamente en un shell. Personalmente confío en nodeource, pero no es un gran hábito entrar. unix.stackexchange.com/questions/46286/…
blanket_cat

Y allí pidiéndole que lo conecte sudo -E bash. Se está ejecutando como root. Le recomiendo que lea y comprenda el script, si lo va a conectar desde la red a un shell raíz.
blanket_cat

1
En términos generales, al instalar un paquete Deb, usted corre el mismo riesgo que conectar Internet a un shell raíz. Dicho esto, uno implica que entiendes tu sistema, el otro implica que no lo entiendes, y esa es una gran diferencia.
Guss


-1

Esto funciono para mi

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

Fuente: https://gist.github.com/isaacs/579814


1
La pregunta es específicamente sobre cómo instalar NodeJS con Apt .
David Foerster
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.