CentOS8にNode.jsをインストールする方法
序章
Node.jsは、サーバー側プログラミング用のJavaScriptランタイムです。 これにより、開発者はJavaScriptを使用してスケーラブルなバックエンド機能を作成できます。JavaScriptは、ブラウザーベースのWeb開発で多くの人がすでに知っている言語です。
このガイドでは、CentOS8サーバーにNode.jsをインストールする3つの異なる方法を紹介します。
dnf
を使用して、CentOSのデフォルトのAppStreamリポジトリからnodejs
パッケージをインストールします- Node VersionManagerである
nvm
をインストールし、それを使用してnode
の複数のバージョンをインストールおよび管理します。 - ソースからの
node
のビルドとインストール
ほとんどのユーザーは、dnf
を使用して、組み込みのパッケージ済みバージョンのNodeをインストールする必要があります。 開発者であるか、インストールされている複数のバージョンのNodeを管理する必要がある場合は、nvm
メソッドを使用してください。 ほとんどのユーザーにとって、ソースからのビルドが必要になることはめったにありません。
前提条件
このチュートリアルを完了するには、CentOS8を実行しているサーバーが必要です。 root 、sudo
が有効になっていないユーザーとしてこのサーバーにログインしていると想定します。 これを設定するには、 CentOS8の初期サーバー設定ガイドを参照してください。
オプション1—CentOSAppStreamリポジトリからのノードのインストール
Node.jsは、CentOS8のデフォルトのAppStreamソフトウェアリポジトリから入手できます。 利用可能なバージョンは複数あり、適切なモジュールストリームを有効にすることで、それらから選択できます。 まず、dnf
コマンドを使用して、nodejs
モジュールで使用可能なストリームを一覧表示します。
- sudo dnf module list nodejs
OutputName Stream Profiles Summary
nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
nodejs 12 common, development, minimal, s2i Javascript runtime
10
と12
の2つのストリームを使用できます。 [d]
は、バージョン10がデフォルトのストリームであることを示します。 Node.js 12をインストールしたい場合は、今すぐモジュールストリームを切り替えてください。
- sudo dnf module enable nodejs:12
決定を確認するように求められます。 その後、バージョン12ストリームが有効になり、インストールを続行できます。 モジュールストリームの操作の詳細については、公式のCentOSAppStreamドキュメントを参照してください。
nodejs
パッケージをdnf
とともにインストールします。
- sudo dnf install nodejs
繰り返しになりますが、dnf
は、実行するアクションを確認するように求めます。 y
、ENTER
の順に押すと、ソフトウェアがインストールされます。
node
にバージョン番号を照会して、インストールが成功したことを確認します。
- node --version
Outputv12.13.1
代わりにNode.js10をインストールした場合、--version
の出力は異なります。
注: Node.jsの両方の利用可能なバージョンは長期サポートリリースです。つまり、メンテナンスの期間が長く保証されています。 ライフサイクルの詳細については、公式Node.jsリリースページを参照してください。
nodejs
パッケージをインストールすると、依存関係としてnpm
Node PackageManagerユーティリティもインストールする必要があります。 同様に正しくインストールされていることを確認します。
- npm --version
Output6.12.1
この時点で、CentOSソフトウェアリポジトリを使用してNode.jsとnpmを正常にインストールできました。 次のセクションでは、NodeVersionManagerを使用してこれを行う方法を示します。
オプション2—ノードバージョンマネージャーを使用したノードのインストール
特に柔軟なNode.jsをインストールする別の方法は、ノードバージョンマネージャーであるnvmを使用することです。 このソフトウェアを使用すると、Node.jsのさまざまな独立したバージョンとそれに関連するNodeパッケージを同時にインストールして維持できます。
CentOS 8マシンにNVMをインストールするには、プロジェクトのGitHubページにアクセスしてください。 メインページに表示されるREADMEファイルからcurl
コマンドをコピーします。 これにより、インストールスクリプトの最新バージョンが取得されます。
コマンドをbash
にパイプする前に、スクリプトを監査して、同意できないことを実行していないことを確認することをお勧めします。 これを行うには、curl
コマンドの最後にある| bash
セグメントを削除します。
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
見て、それが行っている変更に満足していることを確認してください。 満足したら、最後に| bash
を付けてコマンドをやり直してください。 使用するURLは、最新バージョンのNVMによって異なりますが、現時点では、次のように入力することでスクリプトをダウンロードして実行できます。
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
これにより、nvm
スクリプトがユーザーアカウントにインストールされます。 これを使用するには、最初に.bash_profile
ファイルを入手する必要があります。
- source ~/.bash_profile
これで、利用可能なノードのバージョンをNVMに問い合わせることができます。
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
非常に長いリストです! 表示されているリリースバージョンのいずれかを入力することで、Nodeのバージョンをインストールできます。 たとえば、バージョンv13.6.0を入手するには、次のように入力します。
- nvm install v13.6.0
次のように入力すると、インストールしたさまざまなバージョンを確認できます。
nvm list
Output-> v13.6.0
default -> v13.6.0
node -> stable (-> v13.6.0) (default)
stable -> 13.6 (-> v13.6.0) (default)
これは、最初の行に現在アクティブなバージョン(-> v13.6.0
)を示し、その後にいくつかの名前付きエイリアスとそれらのエイリアスが指すバージョンが続きます。
注: CentOSソフトウェアリポジトリからノードのバージョンもインストールされている場合は、ここにsystem -> v12.13.1
(またはその他のバージョン番号)の行が表示される場合があります。 nvm use system
を使用して、いつでもシステムバージョンのノードをアクティブ化できます。
さらに、Node のさまざまなロングタームサポート(またはLTS)リリースのエイリアスが表示されます。
Outputlts/* -> lts/erbium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.19.0 (-> N/A)
lts/erbium -> v12.16.1 (-> N/A)
これらのエイリアスに基づいてリリースをインストールすることもできます。 たとえば、最新の長期サポートバージョンerbium
をインストールするには、次のコマンドを実行します。
- nvm install lts/erbium
OutputDownloading and installing node v12.16.1...
. . .
Now using node v12.16.1 (npm v6.13.4)
nvm use
を使用して、インストールされているバージョンを切り替えることができます。
nvm use v13.6.0
Now using node v13.6.0 (npm v6.13.4)
次のように入力することで、他のセクションと同じ手法を使用してインストールが成功したことを確認できます。
node --version
Outputv13.6.0
期待どおり、正しいバージョンのNodeがマシンにインストールされています。 npm
の互換バージョンも利用できます。
オプション3—ソースからのノードのインストール
Node.jsをインストールする別の方法は、ソースコードをダウンロードして自分でコンパイルすることです。
これを行うには、Webブラウザを使用して公式Node.jsダウンロードページに移動し、ソースコードリンクを右クリックして、リンクアドレスのコピーをクリックします。または、ブラウザが提供する同様のオプション。
SSHセッションに戻り、最初に書き込み可能なディレクトリにいることを確認します。 現在のユーザーのホームディレクトリを使用します。
- cd ~
次に、curl
と入力し、Webサイトからコピーしたリンクを貼り付けて、| tar xz
を続けます。
- curl https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz | tar xz
これは、curl
ユーティリティを使用してソースをダウンロードし、パイプをtar
ユーティリティに直接接続して、現在のディレクトリに抽出します。
新しく作成されたソースディレクトリに移動します。
- cd node-v*
コードをコンパイルするためにCentOSリポジトリからダウンロードする必要のあるパッケージがいくつかあります。 dnf
を使用して、これらを今すぐインストールします。
- sudo dnf install gcc-c++ make python2
インストールの確認を求めるメッセージが表示されます。 y
、ENTER
の順に入力します。 これで、ソフトウェアを構成およびコンパイルできます。
- ./configure
- make -j4
コンパイルにはかなりの時間がかかります(4コアサーバーでは約30分)。 -j4
オプションを使用して、4つの並列コンパイルプロセスを実行しました。 このオプションを省略したり、使用可能なプロセッサコアの数に基づいて数を更新したりできます。
コンパイルが終了したら、次のように入力してソフトウェアをシステムにインストールできます。
- sudo make install
インストールが成功したことを確認するには、ノードにバージョン番号を表示するように依頼します。
- node --version
v12.16.1
正しいバージョン番号が表示されている場合、インストールは正常に完了しています。 デフォルトでは、Nodeは互換性のあるバージョンのnpm
もインストールするため、これも利用可能である必要があります。
結論
このチュートリアルでは、CentOS AppStreamソフトウェアリポジトリを使用して、Node Version Managerを使用して、ソースからコンパイルすることにより、Node.jsをインストールする方法を示しました。
JavaScriptでのプログラミングの詳細については、関連するチュートリアルシリーズをお読みください。
- Javascriptでコーディングする方法:JavaScript言語の包括的な概要で、ブラウザーとNode.jsの両方に適用できます。
- Node.jsでコーディングする方法:Node.jsの使用の基本を教える一連の演習