GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare node.js su RHEL 8 / CentOS 8 Linux

Node.js è un ambiente di runtime Javascript basato su V8 motore open source realizzato da Google e originariamente utilizzato in Chrome. Grazie a Node.js possiamo eseguire Javascript al di fuori del contesto del browser e usarlo anche come linguaggio di scripting lato server, creando così un'intera applicazione web attorno ad esso. In questo tutorial vedremo come installare Node.js nella distribuzione RHEL 8 / CentOS 8.

In questo tutorial imparerai:

  • Come elencare le versioni Node.js disponibili su RHEL 8 / CentOS 8
  • Come installare una versione specifica di Node.js
  • Come passare da una versione di Node.js a RHEL 8 / CentOS 8


Node.js – RHEL 8

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software Il software necessario per seguire questo tutorial è già incluso in un'installazione minima di Rhel 8
Altro Privilegi di root per installare i pacchetti necessari
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Quale versione di Node.js?

Come abbiamo visto in un precedente articolo sull'installazione di php su Rhel8, la versione di Red Hat Enterprise Linux introduce un nuovo modo di organizzare il software nei repository. Per impostazione predefinita ci sono solo due sorgenti software abilitate nella distribuzione:BaseOs e Appstream . Il primo contiene i pacchetti core necessari al sistema operativo, mentre il secondo ospita vari tipi di software organizzati in modules .

Il principale vantaggio dell'utilizzo di questo paradigma è che è possibile scegliere tra diverse versioni della stessa applicazione o utilità. Node.js è una delle applicazioni incluse in Appstream repository, quindi per verificare le versioni di questo runtime Javascript disponibili su RHEL 8 non ci resta che usare module , un sottocomando di dnf , il gestore dei pacchetti di distribuzione. Corriamo:

$ sudo dnf module list nodejs

L'output del comando mostra i moduli disponibili e il loro stato:

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

Cosa ci dice questo output? Innanzitutto possiamo vedere che ci sono due versioni (o "stream") di Node.js disponibili sul sistema:10 e 8. Possiamo anche vedere che il primo è contrassegnato come [d] e quindi è impostato come quello predefinito da installare. Per ogni stream sono disponibili più profili:verranno installati diversi set di pacchetti a seconda di quello selezionato. Per vedere l'elenco dei pacchetti che verrebbero installati con ciascun profilo, possiamo eseguire il seguente comando:

$ sudo dnf module info --profile nodejs

La sintassi del comando è intuitiva:abbiamo usato dnf con il module sottocomando e le info action, per richiedere informazioni sul modulo nodejs. Fornendo il --profile opzione, abbiamo specificato che vogliamo informazioni sui profili disponibili. Ecco l'output 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

Per ogni stream disponibile viene visualizzato l'elenco dei pacchetti inclusi in ogni profilo. Possiamo vederlo usando il default profile, i pacchetti inclusi nell'installazione sono nodejs stesso e npm , il Gestore pacchetti di nodi. Usando lo development profilo, il nodejs-devel il pacchetto viene aggiunto all'elenco, mentre quando si utilizza il minimal uno, l'unico pacchetto installato è nodejs. Infine, il s2i Il profilo (Source-to-Image) include nodejs, npm e nodejs-nodemon che è fondamentalmente uno script pensato per essere utilizzato durante lo sviluppo di un'app node.js.

Installazione della versione predefinita

Ora che conosciamo le versioni di Node.js disponibili, possiamo decidere quale installare. Come abbiamo detto sopra, la versione predefinita è 10. Se questa è quella desiderata, tutto ciò che dobbiamo fare è eseguire:

$ sudo dnf install nodejs

Sul terminale verrà visualizzato un riepilogo dei pacchetti da installare e delle loro dipendenze e il sistema chiederà conferma per procedere:

======================================================================================================================================================
 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]:

Specifica della versione da installare

E se volessimo installare una versione alternativa (un stream nella terminologia Rhel) o un profilo diverso? La sintassi è abbastanza semplice:

name:stream/profile

Fondamentalmente, per installare la versione predefinita di nodejs modulo, ma con lo development profilo, eseguiremmo:

$ sudo dnf module install nodejs:10/development

L'elenco dei pacchetti che verrebbero installati aumenta di conseguenza al cambio di profilo:

======================================================================================================================================================
 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

Allo stesso modo, per installare la versione 8 del runtime Javascript con il profilo predefinito, eseguiremmo:

$ sudo dnf module install nodejs:8

In questo caso, poiché volevamo utilizzare il profilo predefinito, abbiamo omesso di includerlo nel comando. Come puoi
verificare nell'output sottostante, la versione dei pacchetti da installare è cambiata di nuovo:

======================================================================================================================================================
 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

Supponiamo di aver confermato l'installazione dell'elenco di pacchetti sopra. Se ora eseguiamo:

$ sudo dnf module list nodejs

Possiamo vedere le modifiche riflesse dalla notazione utilizzata nell'output:

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 versione 10 è ancora contrassegnato come predefinito, ma ora la versione 8 lo stream è contrassegnato da [e] il che significa che è stato abilitato automaticamente. Inoltre, il [i] mark viene utilizzato nella sezione profili dello stesso stream, vicino al nome di quello installato.

Cambio versione

Cosa succede se installiamo una versione specifica di Node.js e vogliamo cambiarne un'altra? Fondamentalmente, dobbiamo specificare la nuova versione da installare e il sistema si occuperà del resto. Ad esempio, per tornare alla versione 10 corriamo di nuovo:

$ sudo dnf module install nodejs:10/default

Le azioni che verrebbero eseguite per soddisfare la richiesta vengono calcolate e mostrate a noi. Nel Transaction Summary sezione dell'output sottostante, possiamo infatti notare che 2 pacchetti (nodejs e npm) verrebbero aggiornati:

======================================================================================================================================================
 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

Conclusioni

Node.js è un runtime basato sul motore Javascript V8 creato da Google e originariamente utilizzato nel browser Chrome. Usandolo possiamo creare applicazioni usando Javascript al di fuori del contesto di un browser web. In questo tutorial abbiamo visto come installare il nodejs pacchetto su sistema operativo RHEL/CentOS Linux 8, quali versioni del pacchetto sono disponibili nei repository di default, come è possibile installarne uno specifico e come, grazie a modules , il nuovo modo di organizzare il software nell'ultima versione della distribuzione aziendale di Red Hat, possiamo passare da una versione all'altra.


Cent OS
  1. Come installare redmine su RHEL 8 / CentOS 8 Linux

  2. Come installare Hadoop su RHEL 8 / CentOS 8 Linux

  3. Come installare Perl su RHEL 8 / CentOS 8 Linux

  4. Come installare Apache Tomcat su Linux RHEL 8 / CentOS 8

  5. Come installare il server DNS su RHEL 8 / CentOS 8 Linux

Come installare WordPress su RHEL 8 / CentOS 8 Linux

Come installare GIMP su CentOS 8 / RHEL 8 Linux

Come installare NodeJS su CentOS 8 / RHEL 8

Come installare Node.js su CentOS 7 / RHEL 7

Come installare Node.js su CentOS 8

Come installare Node.js su CentOS 7