開発者ドキュメント

CentOS8にNode.jsをインストールする方法

序章

Node.jsは、サーバー側プログラミング用のJavaScriptランタイムです。 これにより、開発者はJavaScriptを使用してスケーラブルなバックエンド機能を作成できます。JavaScriptは、ブラウザーベースのWeb開発で多くの人がすでに知っている言語です。

このガイドでは、CentOS8サーバーにNode.jsをインストールする3つの異なる方法を紹介します。

ほとんどのユーザーは、dnfを使用して、組み込みのパッケージ済みバージョンのNodeをインストールする必要があります。 開発者であるか、インストールされている複数のバージョンのNodeを管理する必要がある場合は、nvmメソッドを使用してください。 ほとんどのユーザーにとって、ソースからのビルドが必要になることはめったにありません。

前提条件

このチュートリアルを完了するには、CentOS8を実行しているサーバーが必要です。 root sudoが有効になっていないユーザーとしてこのサーバーにログインしていると想定します。 これを設定するには、 CentOS8の初期サーバー設定ガイドを参照してください。

オプション1—CentOSAppStreamリポジトリからのノードのインストール

Node.jsは、CentOS8のデフォルトのAppStreamソフトウェアリポジトリから入手できます。 利用可能なバージョンは複数あり、適切なモジュールストリームを有効にすることで、それらから選択できます。 まず、dnfコマンドを使用して、nodejsモジュールで使用可能なストリームを一覧表示します。

  1. sudo dnf module list nodejs
Output
Name Stream Profiles Summary nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime nodejs 12 common, development, minimal, s2i Javascript runtime

1012の2つのストリームを使用できます。 [d]は、バージョン10がデフォルトのストリームであることを示します。 Node.js 12をインストールしたい場合は、今すぐモジュールストリームを切り替えてください。

  1. sudo dnf module enable nodejs:12

決定を確認するように求められます。 その後、バージョン12ストリームが有効になり、インストールを続行できます。 モジュールストリームの操作の詳細については、公式のCentOSAppStreamドキュメントを参照してください。

nodejsパッケージをdnfとともにインストールします。

  1. sudo dnf install nodejs

繰り返しになりますが、dnfは、実行するアクションを確認するように求めます。 yENTERの順に押すと、ソフトウェアがインストールされます。

nodeにバージョン番号を照会して、インストールが成功したことを確認します。

  1. node --version
Output
v12.13.1

代わりにNode.js10をインストールした場合、--versionの出力は異なります。

注: Node.jsの両方の利用可能なバージョンは長期サポートリリースです。つまり、メンテナンスの期間が長く保証されています。 ライフサイクルの詳細については、公式Node.jsリリースページを参照してください。

nodejsパッケージをインストールすると、依存関係としてnpm Node PackageManagerユーティリティもインストールする必要があります。 同様に正しくインストールされていることを確認します。

  1. npm --version
Output
6.12.1

この時点で、CentOSソフトウェアリポジトリを使用してNode.jsとnpmを正常にインストールできました。 次のセクションでは、NodeVersionManagerを使用してこれを行う方法を示します。

オプション2—ノードバージョンマネージャーを使用したノードのインストール

特に柔軟なNode.jsをインストールする別の方法は、ノードバージョンマネージャーであるnvmを使用することです。 このソフトウェアを使用すると、Node.jsのさまざまな独立したバージョンとそれに関連するNodeパッケージを同時にインストールして維持できます。

CentOS 8マシンにNVMをインストールするには、プロジェクトのGitHubページにアクセスしてください。 メインページに表示されるREADMEファイルからcurlコマンドをコピーします。 これにより、インストールスクリプトの最新バージョンが取得されます。

コマンドをbashにパイプする前に、スクリプトを監査して、同意できないことを実行していないことを確認することをお勧めします。 これを行うには、curlコマンドの最後にある| bashセグメントを削除します。

  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh

見て、それが行っている変更に満足していることを確認してください。 満足したら、最後に| bashを付けてコマンドをやり直してください。 使用するURLは、最新バージョンのNVMによって異なりますが、現時点では、次のように入力することでスクリプトをダウンロードして実行できます。

  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

これにより、nvmスクリプトがユーザーアカウントにインストールされます。 これを使用するには、最初に.bash_profileファイルを入手する必要があります。

  1. 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を入手するには、次のように入力します。

  1. 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)リリースのエイリアスが表示されます。

Output
lts/* -> 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をインストールするには、次のコマンドを実行します。

  1. nvm install lts/erbium
Output
Downloading 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
Output
v13.6.0

期待どおり、正しいバージョンのNodeがマシンにインストールされています。 npmの互換バージョンも利用できます。

オプション3—ソースからのノードのインストール

Node.jsをインストールする別の方法は、ソースコードをダウンロードして自分でコンパイルすることです。

これを行うには、Webブラウザを使用して公式Node.jsダウンロードページに移動し、ソースコードリンクを右クリックして、リンクアドレスのコピーをクリックします。または、ブラウザが提供する同様のオプション。

SSHセッションに戻り、最初に書き込み可能なディレクトリにいることを確認します。 現在のユーザーのホームディレクトリを使用します。

  1. cd ~

次に、curlと入力し、Webサイトからコピーしたリンクを貼り付けて、| tar xzを続けます。

  1. curl https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz | tar xz

これは、curlユーティリティを使用してソースをダウンロードし、パイプtarユーティリティに直接接続して、現在のディレクトリに抽出します。

新しく作成されたソースディレクトリに移動します。

  1. cd node-v*

コードをコンパイルするためにCentOSリポジトリからダウンロードする必要のあるパッケージがいくつかあります。 dnfを使用して、これらを今すぐインストールします。

  1. sudo dnf install gcc-c++ make python2

インストールの確認を求めるメッセージが表示されます。 yENTERの順に入力します。 これで、ソフトウェアを構成およびコンパイルできます。

  1. ./configure
  2. make -j4

コンパイルにはかなりの時間がかかります(4コアサーバーでは約30分)。 -j4オプションを使用して、4つの並列コンパイルプロセスを実行しました。 このオプションを省略したり、使用可能なプロセッサコアの数に基づいて数を更新したりできます。

コンパイルが終了したら、次のように入力してソフトウェアをシステムにインストールできます。

  1. sudo make install

インストールが成功したことを確認するには、ノードにバージョン番号を表示するように依頼します。

  1. node --version
v12.16.1

正しいバージョン番号が表示されている場合、インストールは正常に完了しています。 デフォルトでは、Nodeは互換性のあるバージョンのnpmもインストールするため、これも利用可能である必要があります。

結論

このチュートリアルでは、CentOS AppStreamソフトウェアリポジトリを使用して、Node Version Managerを使用して、ソースからコンパイルすることにより、Node.jsをインストールする方法を示しました。

JavaScriptでのプログラミングの詳細については、関連するチュートリアルシリーズをお読みください。

モバイルバージョンを終了