Node.jsは、V8
に基づくJavascriptランタイム環境です。 Googleが作成し、元々Chromeで使用されていたオープンソースエンジン。 Node.jsのおかげで、ブラウザーコンテキストの外部でJavascriptを実行し、サーバーサイドスクリプト言語のように使用できるため、その周りにWebアプリケーション全体を作成できます。このチュートリアルでは、Node.jsをRHEL 8 /CentOS8ディストリビューションにインストールする方法を説明します。
このチュートリアルでは、次のことを学びます。
- RHEL 8 /CentOS8で利用可能なNode.jsバージョンを一覧表示する方法
- 特定のバージョンのNode.jsをインストールする方法
- RHEL 8 /CentOS8でNode.jsのバージョンを切り替える方法
Node.js – RHEL 8
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
このチュートリアルに従うために必要なソフトウェアは、Rhel8の最小インストールにすでに含まれています | |
必要なパッケージをインストールするためのroot権限 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
Node.jsのどのバージョンですか?
Rhel8へのphpのインストールに関する以前の記事で見たように、Red Hat Enterprise Linuxのバージョンでは、リポジトリーでソフトウェアを編成する新しい方法が導入されています。デフォルトでは、ディストリビューションで有効になっているソフトウェアソースはBaseOs
の2つだけです。 およびAppstream
。前者にはオペレーティングシステムに必要なコアパッケージが含まれ、後者にはmodules
で編成されたさまざまなタイプのソフトウェアがホストされます。 。
このパラダイムを使用する主な利点は、同じアプリケーションまたはユーティリティの異なるバージョンから選択できることです。 Node.jsは、Appstream
に含まれるアプリケーションの1つです。 したがって、リポジトリであるため、RHEL 8で使用可能なこのJavascriptランタイムのバージョンを確認するには、module
を使用するだけです。 、dnf
のサブコマンド 、配布パッケージマネージャー。実行します:
$ sudo dnf module list nodejs
コマンドの出力には、使用可能なモジュールとそのステータスが表示されます。
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
この出力は何を教えてくれますか?まず、Node.js
には2つのバージョン(または「ストリーム」)があることがわかります。 システムで使用可能:10、および8。前者が[d]
としてマークされていることもわかります。 したがって、デフォルトでインストールされるものとして設定されます。ストリームごとに、複数のプロファイルを使用できます。選択したパッケージに応じて、異なるパッケージのセットがインストールされます。各プロファイルでインストールされるパッケージのリストを表示するには、次のコマンドを実行できます。
$ sudo dnf module info --profile nodejs
コマンドの構文は直感的です。dnf
を使用しました modules
を使用 サブコマンドとinfo
アクション、nodejsモジュールに関する情報を要求します。 --profile
を提供する オプションで、使用可能なプロファイルに関する情報が必要であることを指定しました。コマンドの出力は次のとおりです。
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
使用可能なストリームごとに、各プロファイルに含まれるパッケージのリストが表示されます。 default
を使用することでそれを確認できます プロファイル、インストールに含まれるパッケージはnodejs
それ自体とnpm
、ノードパッケージマネージャー。 development
を使用する プロファイル、nodejs-devel
minimal
を使用している場合、パッケージがリストに追加されます 1つは、インストールされているパッケージはnodejsだけです。最後に、s2i
(Source-to-Image)プロファイルには、nodejs、npm、およびnodejs-nodemonが含まれます。これらは基本的に、node.jsアプリの開発中に使用されることを目的としたスクリプトです。
デフォルトバージョンのインストール
利用可能なNode.jsのバージョンがわかったので、インストールするバージョンを決定できます。上で述べたように、デフォルトのバージョンは10です。これが目的のバージョンである場合、実行する必要があるのは次のとおりです。
$ sudo dnf install nodejs
インストールするパッケージとその依存関係の概要が端末に表示され、システムは続行するための確認を求めます。
====================================================================================================================================================== 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]:
インストールするバージョンの指定
別のバージョン(stream
)をインストールする場合はどうなりますか Rhelの用語で)または別のプロファイル?構文は非常に単純です:
name:stream/profile
基本的に、デフォルトバージョンのnodejs
をインストールするには モジュールですが、development
プロファイル、実行します:
$ sudo dnf module install nodejs:10/development
プロファイルの変更に応じて、インストールされるパッケージのリストが増えます:
====================================================================================================================================================== 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
同様に、デフォルトのプロファイルを使用してJavascriptランタイムのバージョン8をインストールするには、次のコマンドを実行します。
$ sudo dnf module install nodejs:8
この場合、デフォルトのプロファイルを使用したかったので、コマンドに含めることを省略しました。以下の出力で確認できるように、
インストールするパッケージのバージョンが再度変更されました:
====================================================================================================================================================== 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
上記のパッケージのリストのインストールを確認したとします。今実行した場合:
$ sudo dnf module list nodejs
出力で使用されている表記法によって反映された変更を確認できます:
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
バージョン10
は引き続きデフォルトとしてマークされていますが、バージョン8
ストリームは[e]
でマークされています これは、自動的に有効になったことを意味します。さらに、[i]
マークは、同じストリームのプロファイルセクションで、インストールされているストリームの名前の近くで使用されます。
バージョンの切り替え
Node.jsの特定のバージョンをインストールし、別のバージョンに変更したい場合はどうなりますか?基本的に、インストールする新しいバージョンを指定する必要があり、残りはシステムが処理します。たとえば、バージョン10
に戻すには もう一度実行します:
$ sudo dnf module install nodejs:10/default
要求を満たすために実行されるアクションが計算され、表示されます。 Transaction Summary
以下の出力のセクションでは、2つのパッケージ(nodejsと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
結論
Node.jsは、googleによって作成されたV8 Javascriptエンジンに基づくランタイムであり、元々はChromeブラウザで使用されていました。これを使用することで、Webブラウザのコンテキスト外でJavascriptを使用してアプリケーションを作成できます。このチュートリアルでは、nodejs
をインストールする方法を見ました RHEL / CentOS Linux 8オペレーティングシステム上のパッケージ、デフォルトのリポジトリで使用できるパッケージのバージョン、特定のリポジトリをインストールする方法、およびmodules
のおかげでどのように 、Red Hatエンタープライズディストリビューションの最新バージョンでソフトウェアを整理する新しい方法で、あるバージョンから別のバージョンに切り替えることができます。