GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar node.js en RHEL 8 / CentOS 8 Linux

Node.js es un entorno de tiempo de ejecución de Javascript basado en V8 Motor de código abierto creado por Google y utilizado originalmente en Chrome. Gracias a Node.js podemos ejecutar Javascript fuera del contexto del navegador y usarlo también como un lenguaje de secuencias de comandos del lado del servidor, creando así una aplicación web completa a su alrededor. En este tutorial veremos cómo instalar Node.js en la distribución RHEL 8 / CentOS 8.

En este tutorial aprenderás:

  • Cómo listar las versiones de Node.js disponibles en RHEL 8/CentOS 8
  • Cómo instalar una versión específica de Node.js
  • Cómo cambiar entre versiones de Node.js en RHEL 8/CentOS 8


El Node.js – RHEL 8

Requisitos de software y convenciones utilizadas

¿Qué versión de Node.js?

Como vimos en un artículo anterior sobre la instalación de php en Rhel8, la versión de Red Hat Enterprise Linux presenta una nueva forma de organizar el software en los repositorios. Por defecto, solo hay dos fuentes de software habilitadas en la distribución:BaseOs y Appstream . El primero contiene los paquetes principales que necesita el sistema operativo, mientras que el segundo alberga varios tipos de software organizados en modules. .

La principal ventaja de usar este paradigma es que es posible elegir entre diferentes versiones de una misma aplicación o utilidad. Node.js es una de las aplicaciones incluidas en el Appstream repositorio, por lo tanto, para verificar las versiones de este tiempo de ejecución de Javascript disponibles en RHEL 8, todo lo que tenemos que hacer es usar module , un subcomando de dnf , el administrador de paquetes de distribución. Ejecutamos:

$ sudo dnf module list nodejs

La salida del comando muestra los módulos disponibles y su estado:

Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Name                       Stream                     Profiles                                      Summary
nodejs                     10 [d]                     development, minimal, s2i, default [d]        Javascript runtime
nodejs                     8                          development, minimal, s2i, default [d]        Javascript runtime

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

¿Qué nos dice esta salida? En primer lugar, podemos ver que hay dos versiones (o "flujos") de Node.js disponibles en el sistema:10 y 8. También podemos ver que el primero está marcado como [d] y por lo tanto se establece como el predeterminado para ser instalado. Para cada transmisión, hay varios perfiles disponibles:se instalarán diferentes conjuntos de paquetes según cuál se seleccione. Para ver la lista de paquetes que se instalarían con cada perfil, podemos ejecutar el siguiente comando:

$ sudo dnf module info --profile nodejs

La sintaxis del comando es intuitiva:usamos dnf con el module subcomando y el info action, para solicitar información sobre el módulo nodejs. Al proporcionar el --profile opción, especificamos que queremos información sobre los perfiles disponibles. Aquí está la salida del comando:

Name        : nodejs:10:20181011133319:9edba152:x86_64
development : nodejs
            : nodejs-devel
            : npm
minimal     : nodejs
s2i         : nodejs
            : nodejs-nodemon
            : npm
default     : nodejs
            : npm

Name        : nodejs:8:20181011134412:9edba152:x86_64
development : nodejs
            : nodejs-devel
            : npm
minimal     : nodejs
s2i         : nodejs
            : nodejs-nodemon
            : npm
default     : nodejs
            : npm

Para cada flujo disponible se muestra la lista de paquetes incluidos en cada perfil. Podemos ver eso usando el default perfil, los paquetes incluidos en la instalación son nodejs sí mismo y npm , el administrador de paquetes de nodos. Usando el development perfil, el nodejs-devel el paquete se agrega a la lista, mientras que cuando se usa el minimal one, el único paquete instalado es nodejs. Finalmente, el s2i El perfil (Source-to-Image) incluye nodejs, npm y nodejs-nodemon, que es básicamente un script destinado a ser utilizado durante el desarrollo de una aplicación node.js.

Instalando la versión por defecto

Ahora que conocemos las versiones disponibles de Node.js, podemos decidir cuál instalar. Como dijimos anteriormente, la versión por defecto es la 10. Si esta es la deseada, todo lo que tenemos que hacer es ejecutar:

$ sudo dnf install nodejs

En el terminal se mostrará un resumen de los paquetes a instalar y sus dependencias, y el sistema solicitará la confirmación para continuar:

======================================================================================================================================================
 Package                 Arch               Version                                          Repository                                         Size
======================================================================================================================================================
Installing:
 nodejs                  x86_64             1:10.11.0-2.el8+2021+27085a9b                    Rhel-8-for-x86_64-appstream-beta-rpms             8.4 M
Installing dependencies:
 npm                     x86_64             1:6.4.1-1.10.11.0.2.el8+2021+27085a9b            Rhel-8-for-x86_64-appstream-beta-rpms             3.6 M
 libuv                   x86_64             1:1.23.1-1.el8                                   Rhel-8-for-x86_64-appstream-beta-rpms             134 k
 http-parser             x86_64             2.8.0-1.el8                                      Rhel-8-for-x86_64-appstream-beta-rpms              40 k
Enabling module streams:
 nodejs                                     10


Transaction Summary
======================================================================================================================================================
Install  4 Packages

Total download size: 12 M
Installed size: 57 M
Is this ok [y/N]:

Especificar la versión a instalar

¿Qué pasa si queremos instalar una versión alternativa (un stream en la terminología de Rhel) o un perfil diferente? La sintaxis es bastante simple:

name:stream/profile

Básicamente, para instalar la versión predeterminada de nodejs módulo, pero con el development perfil, ejecutaríamos:

$ sudo dnf module install nodejs:10/development

La lista de paquetes que se instalarían aumenta de acuerdo al cambio de perfil:

======================================================================================================================================================
 Package                       Arch            Version                                          Repository                                      Size
======================================================================================================================================================
Installing group/module packages:
 npm                           x86_64          1:6.4.1-1.10.11.0.2.el8+2021+27085a9b            Rhel-8-for-x86_64-appstream-beta-rpms          3.6 M
 nodejs-devel                  x86_64          1:10.11.0-2.el8+2021+27085a9b                    Rhel-8-for-x86_64-appstream-beta-rpms           11 M
 nodejs                        x86_64          1:10.11.0-2.el8+2021+27085a9b                    Rhel-8-for-x86_64-appstream-beta-rpms          8.4 M
Installing dependencies:
 redhat-rpm-config             noarch          115-1.el8                                        Rhel-8-for-x86_64-appstream-beta-rpms           82 k
 perl-srpm-macros              noarch          1-25.el8                                         Rhel-8-for-x86_64-appstream-beta-rpms           11 k
 go-srpm-macros                noarch          2-16.el8                                         Rhel-8-for-x86_64-appstream-beta-rpms           14 k
 dwz                           x86_64          0.12-9.el8                                       Rhel-8-for-x86_64-appstream-beta-rpms          109 k
 libuv                         x86_64          1:1.23.1-1.el8                                   Rhel-8-for-x86_64-appstream-beta-rpms          134 k
 http-parser                   x86_64          2.8.0-1.el8                                      Rhel-8-for-x86_64-appstream-beta-rpms           40 k
 python3-rpm-macros            noarch          3-35.el8                                         Rhel-8-for-x86_64-appstream-beta-rpms           13 k
 rust-srpm-macros              noarch          5-2.el8                                          Rhel-8-for-x86_64-appstream-beta-rpms          9.3 k
 ocaml-srpm-macros             noarch          5-4.el8                                          Rhel-8-for-x86_64-appstream-beta-rpms          9.5 k
 efi-srpm-macros               noarch          3-2.el8                                          Rhel-8-for-x86_64-appstream-beta-rpms           22 k
 qt5-srpm-macros               noarch          5.11.1-2.el8                                     Rhel-8-for-x86_64-appstream-beta-rpms           11 k
 http-parser-devel             x86_64          2.8.0-1.el8                                      Rhel-8-for-x86_64-appstream-beta-rpms           18 k
 nodejs-packaging              noarch          17-2.el8+1541+81a6effd                           Rhel-8-for-x86_64-appstream-beta-rpms           19 k
 libuv-devel                   x86_64          1:1.23.1-1.el8                                   Rhel-8-for-x86_64-appstream-beta-rpms           34 k
 ghc-srpm-macros               noarch          1.4.2-7.el8                                      Rhel-8-for-x86_64-appstream-beta-rpms          9.4 k
 python-srpm-macros            noarch          3-35.el8                                         Rhel-8-for-x86_64-appstream-beta-rpms           14 k
 openblas-srpm-macros          noarch          2-2.el8                                          Rhel-8-for-x86_64-appstream-beta-rpms          8.0 k
 krb5-devel                    x86_64          1.16.1-19.el8                                    Rhel-8-for-x86_64-baseos-beta-rpms             546 k
 libsepol-devel                x86_64          2.8-1.el8                                        Rhel-8-for-x86_64-baseos-beta-rpms              85 k
 libcom_err-devel              x86_64          1.44.3-1.el8                                     Rhel-8-for-x86_64-baseos-beta-rpms              37 k
 pcre2-devel                   x86_64          10.31-11.el8                                     Rhel-8-for-x86_64-baseos-beta-rpms             591 k
 zip                           x86_64          3.0-21.el8                                       Rhel-8-for-x86_64-baseos-beta-rpms             270 k
 libkadm5                      x86_64          1.16.1-19.el8                                    Rhel-8-for-x86_64-baseos-beta-rpms             184 k
 unzip                         x86_64          6.0-38.el8                                       Rhel-8-for-x86_64-baseos-beta-rpms             192 k
 keyutils-libs-devel           x86_64          1.5.10-6.el8                                     Rhel-8-for-x86_64-baseos-beta-rpms              48 k
 openssl-devel                 x86_64          1:1.1.1-6.el8                                    Rhel-8-for-x86_64-baseos-beta-rpms             2.3 M
 libselinux-devel              x86_64          2.8-5.el8                                        Rhel-8-for-x86_64-baseos-beta-rpms             199 k
 zlib-devel                    x86_64          1.2.11-10.el8                                    Rhel-8-for-x86_64-baseos-beta-rpms              56 k
 pcre2-utf16                   x86_64          10.31-11.el8                                     Rhel-8-for-x86_64-baseos-beta-rpms             223 k
 libverto-devel                x86_64          0.3.0-5.el8                                      Rhel-8-for-x86_64-baseos-beta-rpms              18 k
 pcre2-utf32                   x86_64          10.31-11.el8                                     Rhel-8-for-x86_64-baseos-beta-rpms             215 k
Installing module profiles:
 nodejs/development

Enabling module streams:
 nodejs                                        10


Transaction Summary
======================================================================================================================================================
Install  34 Packages

De la misma manera, para instalar la versión 8 del tiempo de ejecución de Javascript con el perfil predeterminado, ejecutaríamos:

$ sudo dnf module install nodejs:8

En este caso, como queríamos usar el perfil predeterminado, omitimos incluirlo en el comando. Como puede
verificar en el siguiente resultado, la versión de los paquetes a instalar cambió nuevamente:

======================================================================================================================================================
 Package                 Arch               Version                                          Repository                                         Size
======================================================================================================================================================
Installing group/module packages:
 nodejs                  x86_64             1:8.11.4-2.el8+2022+2ec55091                     Rhel-8-for-x86_64-appstream-beta-rpms             7.5 M
 npm                     x86_64             1:5.6.0-1.8.11.4.2.el8+2022+2ec55091             Rhel-8-for-x86_64-appstream-beta-rpms             4.1 M
Installing dependencies:
 libuv                   x86_64             1:1.23.1-1.el8                                   Rhel-8-for-x86_64-appstream-beta-rpms             134 k
 http-parser             x86_64             2.8.0-1.el8                                      Rhel-8-for-x86_64-appstream-beta-rpms              40 k
Installing module profiles:
 nodejs/default

Enabling module streams:
 nodejs                                     8


Transaction Summary
======================================================================================================================================================
Install  4 Packages

Supongamos que confirmamos la instalación de la lista de paquetes anterior. Si ahora ejecutamos:

$ sudo dnf module list nodejs

Podemos ver los cambios reflejados por la notación utilizada en la salida:

Name                      Stream                    Profiles                    Summary
nodejs                    10 [d]                    development, minimal, s2i, default [d]                       Javascript runtime
nodejs                    8 [e]                     development, minimal, s2i, default [d] [i]                   Javascript runtime

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

La versión 10 todavía está marcado como el predeterminado, pero ahora la versión 8 la transmisión está marcada con [e] lo que significa que se ha habilitado automáticamente. Además, el [i] La marca se usa en la sección de perfiles de la misma transmisión, cerca del nombre del instalado.

Versión de cambio

¿Qué pasa si instalamos una versión específica de Node.js y queremos cambiar a otra? Básicamente, tenemos que especificar la nueva versión a instalar y el sistema se encargará del resto. Por ejemplo, para volver a la versión 10 corremos de nuevo:

$ sudo dnf module install nodejs:10/default

Las acciones que se realizarían para satisfacer la solicitud se calculan y se nos muestran. En el Transaction Summary sección del resultado a continuación, podemos notar que se actualizarán 2 paquetes (nodejs y npm):

======================================================================================================================================================
 Package             Arch                Version                                             Repository                                          Size
======================================================================================================================================================
Upgrading:
 npm                 x86_64              1:6.4.1-1.10.11.0.2.el8+2021+27085a9b               Rhel-8-for-x86_64-appstream-beta-rpms              3.6 M
 nodejs              x86_64              1:10.11.0-2.el8+2021+27085a9b                       Rhel-8-for-x86_64-appstream-beta-rpms              8.4 M
Switching module streams:
 nodejs                                  8 -> 10


Transaction Summary
======================================================================================================================================================
Upgrade  2 Packages

Conclusiones

Node.js es un tiempo de ejecución basado en el motor Javascript V8 creado por Google y utilizado originalmente en el navegador Chrome. Al usarlo, podemos crear aplicaciones usando Javascript fuera del contexto de un navegador web. En este tutorial vimos cómo instalar nodejs paquete en el sistema operativo RHEL/CentOS Linux 8, qué versiones del paquete están disponibles en los repositorios predeterminados, cómo es posible instalar uno específico y cómo, gracias a modules , la nueva forma de organizar el software en la última versión de la distribución empresarial de Red Hat, podemos cambiar de una versión a otra.


Cent OS
  1. Cómo instalar redmine en RHEL 8 / CentOS 8 Linux

  2. Cómo instalar Hadoop en RHEL 8 / CentOS 8 Linux

  3. Cómo instalar Perl en RHEL 8 / CentOS 8 Linux

  4. Cómo instalar apache tomcat en Linux RHEL 8 / CentOS 8

  5. Cómo instalar un servidor DNS en RHEL 8 / CentOS 8 Linux

Cómo instalar WordPress en RHEL 8 / CentOS 8 Linux

Cómo instalar GIMP en CentOS 8 / RHEL 8 Linux

Cómo instalar NodeJS en CentOS 8 / RHEL 8

Cómo instalar Node.js en CentOS 7 / RHEL 7

Cómo instalar Node.js en CentOS 8

Cómo instalar Node.js en CentOS 7

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software El software necesario para seguir este tutorial ya está incluido en una instalación mínima de Rhel 8
    Otro Privilegios de raíz para instalar los paquetes necesarios
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios