GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat node.js na RHEL 8 / CentOS 8 Linux

Node.js je běhové prostředí Javascriptu založené na V8 open source engine vytvořený společností Google a původně používaný v Chrome. Díky Node.js můžeme spouštět Javascript mimo kontext prohlížeče a používat jej také jako skriptovací jazyk na straně serveru, a tak kolem něj vytvořit celou webovou aplikaci. V tomto tutoriálu uvidíme, jak nainstalovat Node.js v distribuci RHEL 8 / CentOS 8.

V tomto tutoriálu se naučíte:

  • Jak uvést dostupné verze Node.js na RHEL 8 / CentOS 8
  • Jak nainstalovat konkrétní verzi Node.js
  • Jak přepínat mezi verzemi Node.js na RHEL 8 / CentOS 8


The Node.js – RHEL 8

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software Software potřebný k provedení tohoto návodu je již součástí minimální instalace Rhel 8
Jiné Oprávnění uživatele root k instalaci potřebných balíčků
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Která verze Node.js?

Jak jsme viděli v předchozím článku o instalaci php na Rhel8, verze Red Hat Enterprise Linux zavádí nový způsob organizace softwaru v úložištích. Ve výchozím nastavení jsou v distribuci povoleny pouze dva zdroje softwaru:BaseOs a Appstream . První obsahuje základní balíčky potřebné pro operační systém, zatímco druhý hostuje různé typy softwaru uspořádané do modules .

Hlavní výhodou použití tohoto paradigmatu je, že je možné si vybrat mezi různými verzemi stejné aplikace nebo nástroje. Node.js je jednou z aplikací zahrnutých do Appstream úložiště, takže ke kontrole verzí tohoto Javascriptového runtime dostupného na RHEL 8, vše, co musíme udělat, je použít module , dílčí příkaz dnf , správce distribučních balíčků. Spouštíme:

$ sudo dnf module list nodejs

Výstup příkazu zobrazuje dostupné moduly a jejich stav:

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

Co nám tento výstup říká? Nejprve můžeme vidět, že existují dvě verze (neboli „streamy“) Node.js dostupné v systému:10 a 8. Můžeme také vidět, že první je označen jako [d] a proto je nastaven jako výchozí k instalaci. Pro každý stream je k dispozici několik profilů:bude nainstalována jiná sada balíčků v závislosti na tom, který z nich je vybrán. Chcete-li zobrazit seznam balíčků, které by byly nainstalovány s každým profilem, můžeme spustit následující příkaz:

$ sudo dnf module info --profile nodejs

Syntaxe příkazu je intuitivní:použili jsme dnf pomocí module dílčí příkaz a info akci, požádat o informace o modulu nodejs. Poskytnutím --profile zadali jsme, že chceme informace o dostupných profilech. Zde je výstup příkazu:

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

Pro každý dostupný stream se zobrazí seznam balíčků zahrnutých v každém profilu. Můžeme to vidět pomocí default profilu, balíčky zahrnuté v instalaci jsou nodejs sám a npm , Správce balíčků uzlů. Pomocí development profil, nodejs-devel balíček je přidán do seznamu, zatímco při použití minimal za prvé, jediný nainstalovaný balíček je nodejs. Nakonec s2i Profil (Source-to-Image) zahrnuje nodejs, npm a nodejs-nodemon, což je v podstatě skript určený k použití při vývoji aplikace node.js.

Instalace výchozí verze

Nyní, když známe dostupné verze Node.js, můžeme se rozhodnout, kterou nainstalovat. Jak jsme si řekli výše, výchozí verze je 10. Pokud je tato požadovaná, vše, co musíme udělat, je spustit:

$ sudo dnf install nodejs

Na terminálu se zobrazí souhrn balíčků k instalaci a jejich závislostí a systém požádá o potvrzení, aby mohl pokračovat:

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

Určení verze k instalaci

Co když chceme nainstalovat alternativní verzi (stream v terminologii Rhel) nebo jiný profil? Syntaxe je poměrně jednoduchá:

name:stream/profile

V podstatě k instalaci výchozí verze nodejs modul, ale s development profilu, spustíme:

$ sudo dnf module install nodejs:10/development

Seznam balíčků, které budou nainstalovány, se zvýší podle změny profilu:

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

Stejným způsobem bychom pro instalaci verze 8 běhového prostředí Javascript s výchozím profilem spustili:

$ sudo dnf module install nodejs:8

V tomto případě, protože jsme chtěli použít výchozí profil, jsme jej vynechali zahrnout do příkazu. Jak si můžete
ve výstupu níže ověřit, verze balíčků k instalaci se znovu změnila:

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

Předpokládejme, že jsme potvrdili instalaci výše uvedeného seznamu balíčků. Pokud nyní spustíme:

$ sudo dnf module list nodejs

Můžeme vidět změny, které se projeví v zápisu použitém ve výstupu:

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

Verze 10 je stále označena jako výchozí, ale nyní verze 8 stream je označen [e] což znamená, že byl automaticky povolen. Kromě toho [i] značka se používá v sekci profilů stejného streamu, poblíž názvu nainstalovaného.

Změna verze

Co když jsme nainstalovali konkrétní verzi Node.js a chceme přejít na jinou? V podstatě musíme specifikovat novou verzi k instalaci a o zbytek se postará systém. Například pro přepnutí zpět na verzi 10 znovu běžíme:

$ sudo dnf module install nodejs:10/default

Vypočítají se a zobrazí se nám akce, které by byly provedeny za účelem uspokojení požadavku. V Transaction Summary části výstupu níže si můžeme skutečně všimnout, že by byly upgradovány 2 balíčky (nodejs a 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

Závěry

Node.js je runtime založený na V8 Javascript engine vytvořeném společností google a původně používaný v prohlížeči Chrome. Pomocí něj můžeme vytvářet aplikace využívající Javascript mimo kontext webového prohlížeče. V tomto tutoriálu jsme viděli, jak nainstalovat nodejs balíček na operačním systému RHEL/CentOS Linux 8, jaké verze balíčku jsou dostupné ve výchozích repozitářích, jak je možné konkrétní nainstalovat a jak díky modules , nový způsob organizace softwaru v nejnovější verzi podnikové distribuce Red Hat, můžeme přecházet z jedné verze na druhou.


Cent OS
  1. Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Hadoop na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  1. Jak nainstalovat Perl na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat apache tomcat na Linux RHEL 8 / CentOS 8

  3. Jak nainstalovat node.js na RHEL 8 / CentOS 8 Linux

  1. Jak nainstalovat Xdebug na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat hvězdičku na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat Apache na RHEL 8 / CentOS 8 Linux