Introducción

Node.js es un tiempo de ejecución de JavaScript para programar del lado del servidor. Permite a los desarrolladores crear funcionalidades de backend escalables usando JavaScript, un lenguaje que muchos ya conocen del desarrollo web basado en navegadores.

En esta guía, verá tres formas distintas de instalar Node.js en un servidor de CentOS 8:

  • utilizar dnf para instalar el paquete nodejs del repositorio predeterminado AppStream de CentOS
  • instalar nvm, el administrador de versiones de Node, y usarlo para instalar y administrar varias versiones de node
  • compilar e instalar node del código fuente

La mayoría de los usuarios deberían usar dnf para instalar versiones previamente empaquetadas e integradas de Node. Si es desarrollador o necesita gestionar varias versiones instaladas de Node por algún motivo, utilice el método nvm. La mayoría de los usuarios rara vez necesitan compilar el código fuente.

Requisitos previos

instalar illustration for: Requisitos previos

Para completar este tutorial, necesitará un servidor con CentOS 8. Se asumirá que inició sesión en este servidor como usuario no root con privilegios sudo. Para configurarlo, consulte nuestra guía Configuración inicial para servidores con CentOS 8.

Opción 1: Instalar Node desde el repositorio de AppStream de CentOS

Node.js está disponible en el repositorio de software predeterminado AppStream de CentOS 8. Hay varias versiones disponibles; puede elegir una de ellas habilitando el _flujo de módulos_ correspondiente. Primero, enumere los flujos disponibles del módulo nodejs usando el comando dnf:

				
					
sudo dnf module list nodejs

				
			
				
					
[secondary_label Output]

Name Stream Profiles Summary

nodejs 10 <^>[d]<^> common [d], development, minimal, s2i Javascript runtime

nodejs 12 common, development, minimal, s2i Javascript runtime

				
			

Hay dos flujos disponibles: 10 y 12. <^>[d]<^> indica que la versión 10 es el flujo predeterminado. Si prefiere instalar Node.js 12, cambie los flujos de módulos en este momento:

				
					
sudo dnf module enable nodejs:12

				
			

Se le solicitará que confirme su decisión. Luego, se habilitará el flujo versión 12 y podremos continuar con la instalación. Para obtener más información sobre cómo trabajar con flujos de módulos, consulte la documentación oficial de AppStream de CentOS.

Instale el paquete nodejs con dnf:

				
					
sudo dnf install nodejs

				
			

Nuevamente, dnf le solicitará confirmar las acciones que realizará. Presione y y, luego, INTRO para hacerlo. El software se instalará.

Compruebe que la instalación se haya realizado de forma correcta haciendo una consulta a node sobre su número de versión:

				
					
node --version

				
			
				
					
[secondary_label Output]

v12.13.1

				
			

Su resultado de --version será diferente si instaló Node.js 10 en su lugar.

Nota: Las dos versiones disponibles de Node.js son versiones de _soporte a largo plazo_, lo que significa que tienen una ventana de mantenimiento garantizada más prolongada.  Consulte la página oficial de versiones de Node.js para obtener más información sobre el ciclo de vida.

La instalación del paquete nodejs también debería instalar la utilidad del _administrador de paquetes de Node_, npm, como dependencia. Verifique que también se haya instalado correctamente:

				
					
npm --version

				
			
				
					
[secondary_label Output]

6.12.1

				
			

En este punto, instaló Node.js y npm de forma correcta usando los repositorios de software de CentOS. En la siguiente sección, se mostrará cómo se puede usar el administrador de versiones de Node para hacerlo.

Opción 2: Instalar Node usando el administrador de versiones de Node

Otra forma de instalar Node.js que es particularmente flexible es usar nvm, el administrador de versiones de Node. Este software le permite instalar y mantener varias versiones independientes de Node.js, y sus paquetes de Node asociados, al mismo tiempo.

Para instalar NVM en su máquina con CentOS 8, consulte la página de GitHub del proyecto. Copie el comando curl del archivo README que se muestra en la página principal. Le proporcionará la versión más reciente de la secuencia de comandos de instalación.

Antes de canalizar el comando mediante bash, siempre es recomendable revisar la secuencia de comandos para asegurarse de que no haga nada que no desee. Puede hacerlo eliminando el segmento de | bash al final del comando curl:

				
					
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh

				
			

Revíselo y asegúrese de estar cómodo con los cambios que realiza. Cuando esté satisfecho, ejecute el comando de nuevo con | bash anexado al final. La URL que utilice cambiará en función de la última versión de NVM, pero ahora la secuencia de comandos se puede descargar y ejecutar escribiendo lo siguiente:

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

				
			

Esto instalará la secuencia de comandos nvm en su cuenta de usuario. Para usarlo, primero, debe obtener su archivo .bash_profile:

				
					
source ~/.bash_profile

				
			

Ahora, puede preguntar a NVM qué versiones de Node hay disponibles:

				
					
nvm list-remote

				
			
				
					
. . .

 v12.13.0 (LTS: Erbium)

 v12.13.1 (LTS: Erbium)

 v12.14.0 (LTS: Erbium)

 v12.14.1 (LTS: Erbium)

 v12.15.0 (LTS: Erbium)

 v12.16.0 (LTS: Erbium)

 v12.16.1 (Latest LTS: Erbium)

 v13.0.0

 v13.0.1

 v13.1.0

 v13.2.0

 v13.3.0

 v13.4.0

 v13.5.0

 v13.6.0

 v13.7.0

 v13.8.0

 v13.9.0

 v13.10.0

 v13.10.1

 v13.11.0

 v13.12.0

				
			

¡Es una lista muy larga! Puede instalar una versión de Node al escribir cualquiera de las versiones que vea. Por ejemplo, para obtener la versión v13.6.0, puede escribir lo siguiente:

				
					
nvm install v13.6.0

				
			

Puede ver las distintas versiones que tiene instaladas al ingresar lo siguiente:

				
					
nvm list

				
			
				
					
[secondary_label Output]

-&gt; v13.6.0

default -&gt; v13.6.0

node -&gt; stable (-&gt; v13.6.0) (default)

stable -&gt; 13.6 (-&gt; v13.6.0) (default)

				
			

Esto muestra la versión activa en la primera línea (-> v13.6.0) seguida de algunos alias designados y las versiones a las que apuntan.

Nota: Si también tiene una versión de Node instalada a través de los repositorios de software de CentOS, puede ver la línea system -> v12.13.1 (u algún otro número de versión) aquí. Siempre puede activar la versión del sistema de Node usando nvm use system.

Además, verá alias de las diversas versiones de soporte a largo plazo (o LTS) de Node:

				
					
[secondary_label Output]

lts/* -&gt; lts/erbium (-&gt; N/A)

lts/argon -&gt; v4.9.1 (-&gt; N/A)

lts/boron -&gt; v6.17.1 (-&gt; N/A)

lts/carbon -&gt; v8.17.0 (-&gt; N/A)

lts/dubnium -&gt; v10.19.0 (-&gt; N/A)

lts/erbium -&gt; v12.16.1 (-&gt; N/A)

				
			

También podemos instalar una versión basada en estos alias. Por ejemplo, para instalar la última versión de soporte a largo plazo, erbium, ejecute lo siguiente:

				
					
nvm install lts/erbium

				
			
				
					
[secondary_label Output]

Downloading and installing node v12.16.1...

. . .

Now using node v12.16.1 (npm v6.13.4)

				
			

Puede pasar de una versión instalada a otra con nvm use:

				
					
nvm use v13.6.0

				
			
				
					
Now using node v13.6.0 (npm v6.13.4)

				
			

Puede verificar que la instalación se haya realizado de forma correcta usando la misma técnica que utilizó en las otras secciones al ingresar lo siguiente:

				
					
node --version

				
			
				
					
[secondary_label Output]

v13.6.0

				
			

Tenemos la versión correcta de Node instalada en nuestra máquina, tal como esperábamos. También hay una versión compatible de npm disponible.

Opción 3: Instalar Node con código fuente

Otra forma de instalar Node.js es descargar el código fuente y compilarlo.

Para hacerlo, utilice su navegador web para acceder a la página oficial de descargas de Node.js, haga clic en el enlace Source Code (Código fuente) y, luego, en Copiar dirección de enlace o cualquier opción similar que le proporcione su navegador.

Al regresar a su sesión de SSH, primero, asegúrese de hallarse en un directorio en el que pueda escribir. Usaremos el directorio principal del usuario actual:

				
					
cd ~

				
			

Luego, escriba curl y pegue el enlace que copió del sitio web seguido de | tar xz:

				
					
curl &lt;^&gt;https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz&lt;^&gt; | tar xz

				
			

Esto usará la utilidad curl para descargar el código fuente y, luego, lo _canalizará_ directamente a la utilidad tar, que lo extraerá en el directorio actual.

Diríjase al directorio de código fuente que acaba de crear:

				
					
cd node-v*

				
			

Debemos descargar algunos paquetes de los repositorios de CentOS para poder compilar el código. Utilice dnf para instalarlos ahora:

				
					
sudo dnf install gcc-c++ make python2

				
			

Se le solicitará que confirme la instalación. Ingrese y y luego INTRO para hacerlo. Ahora, podemos configurar y compilar el software:

				
					
./configure

make -j4

				
			

La compilación tomará bastante tiempo (unos 30 minutos en un servidor de cuatro núcleos). Usamos la opción -j4 para ejecutar cuatro procesos de compilación paralelos. Puede omitir esta opción o actualizar el número en función de la cantidad de núcleos de procesador de la que disponga.

Cuando la compilación finalice, podrá instalar el software en su sistema ingresando lo siguiente:

				
					
sudo make install

				
			

Para verificar que la instalación se haya realizado correctamente, pida a Node que muestre su número de versión:

				
					
node --version

				
			
				
					
v12.16.1

				
			

Si ve el número de versión correcto, significa que la instalación se habrá completado correctamente. De manera predeterminada, Node también instala una versión compatible de npm, por lo que también debería estar disponible.

Conclusión

En este tutorial, se demostró la forma de instalar Node.js usando el repositorio de software AppStream de CentOS y el administrador de versiones de Node, y compilando el código fuente.

Si desea obtener más información sobre la programación en JavaScript, lea nuestra serie de tutoriales relacionados: