Pregunta ¿Cómo instalar Node.JS en CentOS?


He encontrado numerosas instrucciones de instalación para Node.js, pero todas parecen ser tan complicadas. No soy un administrador de super sistemas, pero puedo moverme. Tengo yum en el sistema, pero no encontré ningún paquete de node.js, y no estoy seguro de cómo compilar el código en el servidor o dónde colocarlo.


130
2017-08-09 16:15


origen


Gracias por las grandes respuestas a todos. ¡Creo que puedes instalar yum de nodejs y npm ahora! increíble - qodeninja
dl.fedoraproject.org/pub/epel/6/x86_64/repoview/nodejs.html - Yolo Perdiem
... con EPEL (instale las instrucciones si aún no tiene el repositorio): rackspace.com/knowledge_center/article/…). - geerlingguy
Creo que las cosas de EPEL ya no funcionan, o no funcionan en Centos 7. - jcollum


Respuestas:


su - 
yum install gcc-c++ openssl-devel
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
./configure
make
make install

Tenga en cuenta que esto requiere Python 2.6+ para usar ./configure encima. Puede modificar el archivo "configurar" para que apunte a python2.7 en la línea 1 si es necesario.

Para crear un paquete RPM, puede utilizar FPM:

# wget http://nodejs.org/dist/node-latest.tar.gz
# tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
# ./configure --prefix=/usr/
# make
# mkdir /tmp/nodejs
# make install DESTDIR=/tmp/nodejs/
# tree -L 3 /tmp/nodejs/
/tmp/nodejs/
└── usr
    ├── bin
    │   ├── node
    │   ├── node-waf
    │   └── npm -> ../lib/node_modules/npm/bin/npm-cli.js
    ├── include
    │   └── node
    ├── lib
    │   ├── dtrace
    │   ├── node
    │   └── node_modules
    └── share
        └── man

Ahora haz el nodejs paquete:

# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib

Luego instale y verifique la versión:

# rpm -ivh nodejs-0.8.18-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:nodejs                 ########################################### [100%]

# /usr/bin/node --version
v0.8.18

Fuente: https://github.com/jordansissel/fpm/wiki/PackageMakeInstall


139
2018-05-19 17:44



pero eso asumiendo que tengo instalado, ¿verdad? que id no hago - qodeninja
Necesitaba incluir yum install gcc-c ++ - Yehosef
Si bien esto es técnicamente correcto, para cualquier tipo de mantenibilidad o repetibilidad, se recomienda encarecidamente administrar paquetes a través de RPM (o lo que sea el empaque de su distro) en lugar de construir e instalar manualmente desde la fuente en cada máquina donde sea necesario. Algunas de las respuestas a continuación enlazan a paquetes pre-construidos. - Jason Antman
Tratar de administrar Node.JS y cualquiera de sus ecosistemas a través de RPM en este momento es un ejercicio inútil, y lo digo como alguien que ejecutó brevemente un repositorio yum que contiene Node y varios paquetes de módulos. - jgoldschrafe
@IsaacRabinovitch Añadieron un ternario. if, que no se produjo hasta Python 2.5. Dado que CentOS sigue la ruta RHEL de vincular el sistema Python a alguna versión parcheada personalizada de 2.4, mi solución fue yum install python26 python26-devel y luego ejecutar python26 configure en lugar de ./configure. Entonces, desde la Makefile También ejecuta scripts de Python, he definido el PYTHON variable allí para ser python26 en lugar de python. Además, vas a necesitar g++ allí, así que si aún no lo has hecho, deberías yum install gcc-++. - Hank Gay


Si tienes CentOS 6.x, y tienes habilitado el repositorio de EPEL, puedes usar yum para instalar node / npm:

$ sudo yum install npm

Una vez completada la instalación, verifique que el nodo esté configurado correctamente:

$ node -v

(Debería devolver algo como v0.10.36).

Si desea versiones posteriores de Node.js (por ejemplo, 4.x, 5.x, etc.), puede usar la Nodesource yum repositorio En lugar de EPEL.


63
2018-03-09 14:14



Esto funcionó maravillosamente en mi sistema CentOS 6.4 y me dio nodo y npm. Tengo el nodo 0.10.13, solo un poco fuera del último src tarball 0.10.15. Parece que esta necesidad de aumentar la votación para sobresalir a medida que triunfa sobre la opción 'instalar desde la fuente'. - Neek
Seguir esta Para instalar el repositorio de EPEL. - Lee Chee Kiam
para actualizar habilitar la ejecución del repositorio de epel yum install -y epel-release, entonces puedes instalar node y npm con yum. - svassr
No pude conseguir que epel o epel-release funcionen con yum para v4.2.x. La respuesta de la nave.sh a continuación funcionó muy bien. - jcollum
La instalación a través de yum me da una versión muy antigua v0.10.42 ... ¿Cómo puedo instalar Node a través de yum / rpm para obtener la última versión (actualmente 5.9.0)? - dokaspar


La esencia "Instalando Node.js a través del gestor de paquetes" Ya no contiene instrucciones para instalar nodejs en CentOS. Desde Fedora 18, nodejs se convierte en parte del repositorio estándar. lo intento "epel-fedora-nodejs" Repo, y encuentra que ya no se actualiza, dejando la versión en la versión obsoleta 0.6.0.

La buena noticia es que tenemos nave, un Entorno Virtual para Nodo, para ayudarnos.

https://github.com/isaacs/nave

Instalar nodejs es muy fácil ahora.

$ wget https://raw.github.com/isaacs/nave/master/nave.sh
$ chmod +x nave.sh
$ ./nave.sh install 0.8.8
$ ./nave.sh use 0.8.8
$ node -v  
v0.8.8

En el archivo nave.sh, es posible que tenga que cambiar las URL locales para que coincidan con la última estructura dist de nodejs. Para 0.11.0 cambié la nave.sh para tener la siguiente URL

"http://nodejs.org/dist/v$ version / node-v $ version-linux-x64.tar.gz "


27
2017-10-25 09:12



nodejs.tchol.org está muerto ahora - explunit
@explunit Acabo de actualizar la respuesta. Por favor intente la nave. - user974312
FYI Esto parece instalarlo solo para este usuario. Si desea instalarlo para todo el sistema: ./nave.sh usemain <su versión> - awl
"nodejs se convierte en parte del repositorio estándar", en CentOS 7 está increíblemente desactualizado. La versión instalada es v10.x (en los CentOS que nuestro departamento de TI utiliza de todos modos). - jcollum


Para centos

yum install gcc-c++ make git
cd /usr/local/src/
git clone git://github.com/joyent/node.git
cd node
./configure
make
make install

13
2018-05-07 15:11



Debería usar una versión publicada, no la versión github, a menos que esté planeando contribuir al proyecto del nodo. - B T


[Editar] Gracias, David, por señalar en los comentarios a continuación que el nodejs.tchol.org el sitio ahora apunta a un sitio de correo no deseado (¡sic!) .. Por lo tanto, esta respuesta ya no funciona, ¡no lo use!

Puedo confirmar que el método que Chris explicó en su solución funciona en CentOS 5.4 (lo he hecho hace un minuto :))

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

PD: por supuesto, debes ser root (o usar sudo) para instalar eso ...

Además de la instalación desde la fuente (que siempre es una opción), quizás haya una alternativa: aquí leí eso  "node.js ha sido aceptado en Fedora Rawhide a diciembre de 2012 y estará disponible en Fedora 18.", así que tal vez finalmente llegue a los repositorios estándar de CentOS

Voy a echar un vistazo a esto ...


11
2018-01-04 05:17



Esto funcionó muy bien en CentOS 6. ¡Gracias! - KyleFarris
"nodejs.tchol.org" está muerto ahora - David Newcomb
Por lo tanto, sólo debe instalar desde la fuente. No tengas miedo - John Hunt
@JohnHunt Instalar desde la fuente significa que ya no se puede desinstalar limpiamente. He tenido este mismo problema con Ruby. Afortunadamente, solo pude revertir la imagen de la VM ... Instalar desde la fuente significa que necesita tener un conocimiento profundo del paquete que está instalando. Teniendo en cuenta que hay miles de paquetes de Linux, ¡esta no es una opción! - Christian
"El enlace de arriba"? Las respuestas están ordenadas por voto, y la de Chris ahora está por debajo de la suya. - Isaac Rabinovitch


Como se mencionó anteriormente, "tchol.org" se ha ido, lo que deja a la gente de CentOS mirando el abandono del uso de un administrador de paquetes o el cambio a otro sistema operativo. Hice un pacto conmigo mismo contra cada acción anterior (de nuevo) en todas las cajas excepto en las experimentales / dev.

Afortunadamente, todavía hay rpms disponibles en: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Simplemente ignore las rpm para el repositorio de instalación, que dirige a yum al sitio desaparecido. Eso debería ganarnos un poco de tiempo, a menos que / hasta que se vuelvan demasiado obsoletos.

Mantendré los ojos abiertos para nuevos repos y los publicaré si los encuentro.


10
2018-04-14 19:27



Yo diría que la versión 0.6 en su enlace ya es bastante obsoleta. Parece que realmente no hay buenas opciones para RHEL / CentOS en este momento, lo cual es extraño considerando que Red Hat en sí ofrece node.js PaaS - explunit


Esto me funcionó en CentOS 5.7:

yum install openssl-devel 
yum install python27
yum install gcc-c++
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
cd node-v[tab]
python2.7 configure
make PYTHON=python2.7
make install

8
2018-02-18 19:51



Tengo que usar python 2.6 en mi CentOS 5.10, ya que python 2.7 no está en repo. - ohho


Hay un enfoque más que no he visto en ninguna de las otras respuestas, y es usar las distribuciones binarias para Linux que han sido publicado desde 0.8.6

Aquí está el script que uso:

# get the latest stable binary 
latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }')
wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node
cd /usr/local/
sudo tar xzvf ~/nodestable.tar.gz --strip=1

O, si desea una versión específica (por ejemplo, para permanecer en la serie 0.8):

wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz
cd /usr/local/
sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1

Y para mí en CentOS 6.3, tuve que agregar los siguientes enlaces para que los comandos node y npm funcionaran desde un usuario normal o desde sudo. Puede que no sea necesario dependiendo de su versión.

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

Francamente, la situación para node.js en CentOS / RHEL es bastante mala, ya que ninguno de los repos incluye node.js (ver pregunta relacionada aquí). Esta respuesta tiene las mismas desventajas que las mencionadas anteriormente para compilar desde la fuente.


7
2017-11-08 00:50





Las respuestas anteriores están desactualizadas.

COMO RAÍZ

curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs

y ya está.

verifica tu instalación con

node -v

7
2018-06-06 10:04



A mi versión de curl no parece gustarle la Autoridad de firma del certificado SSL de la url, por lo que la secuencia de comandos falla silenciosamente. Puedes superarlo usando la opción curl -k. - Spike Williams
Además, después de agregar -k al comando de enrollamiento anterior, también debe actualizar la referencia a las descargas de enrollamientos de ese dominio en el script de "configuración" que se descarga. Luego ejecuta ese script manualmente usando bash. - Spike Williams