Rocky Linux 9にNode.jsをインストールする方法

はじめに

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

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

  • Rockyのデフォルトのソフトウェアリポジトリからdnfを使用してnodejsパッケージをインストールする方法
  • Nodesourceソフトウェアリポジトリを使用して特定のバージョンのnodejsパッケージをインストールする方法
  • Node.jsの複数のバージョンをインストールおよび管理するために、Node Version Manager(nvm)をインストールする方法

多くのユーザーにとっては、デフォルトのパッケージソースを使用したdnfが十分です。特定の新しい(またはレガシー)バージョンのNodeが必要な場合は、Nodesourceリポジトリを使用してください。Nodeアプリケーションの開発を積極的に行い、頻繁にnodeのバージョンを切り替える必要がある場合は、nvmメソッドを選択してください。

前提条件

このガイドでは、Rocky Linux 9を使用していることを前提としています。始める前に、システムに設定されたsudo権限を持つ非rootユーザーアカウントを持っている必要があります。これについては、Rocky Linux 9初期サーバーセットアップチュートリアルに従って学ぶことができます。

オプション1 — デフォルトリポジトリからDNFを使用してNode.jsをインストールする

Rocky Linux 9には、複数のシステムで一貫したエクスペリエンスを提供するために使用できるNode.jsのバージョンがデフォルトリポジトリに含まれています。執筆時点では、リポジトリ内のバージョンは16.14.0です。これは最新バージョンではありませんが、言語の素早い実験には安定して十分です。

このバージョンを取得するには、dnfパッケージマネージャーを使用できます:

  1. sudo dnf install nodejs -y

インストールが成功したかどうかを確認するために、nodeにバージョン番号を問い合わせます:

  1. node -v
Output
v16.14.0

リポジトリ内のパッケージが必要な場合、これでNode.jsのセットアップが完了です。RockyのデフォルトリポジトリからのNode.jsパッケージには、Node.jsパッケージマネージャーであるnpmも含まれています。これにより、Node.jsで使用するためのモジュールやパッケージをインストールすることができます。

この時点で、Node.jsとnpmをデフォルトのRockyソフトウェアリポジトリを使用してdnfで正常にインストールしました。次のセクションでは、別のリポジトリを使用して異なるバージョンのNode.jsをインストールする方法を示します。

オプション2 – NodeSourceリポジトリを使用してDNFでNode.jsをインストールする

異なるバージョンのNode.jsをインストールするには、NodeSourceリポジトリを使用できます。NodeSourceは公式のRockyリポジトリよりも多くのNode.jsのバージョンが利用可能なサードパーティのリポジトリです。執筆時点では、Node.js v14、v16、v18が利用可能です。

最初に、パッケージにアクセスするためにリポジトリをローカルで設定する必要があります。ホームディレクトリから、お好みのバージョンのインストールスクリプトを取得するためにcurlを使用します。なお、お好みのバージョン文字列に応じて18.xを置き換えてください。

  1. cd ~
  2. curl -sL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh

利用可能なバージョンに関する詳細については、NodeSourceのドキュメンテーションを参照してください。

ダウンロードしたスクリプトの内容は、vi(またはお好みのテキストエディタ)で確認できます。

  1. vi nodesource_setup.sh

サードパーティのシェルスクリプトを実行することは常にベストプラクティスとは言えませんが、この場合、NodeSourceは独自のロジックを実装して、ディストリビューションとバージョンの要件に基づいて正しいコマンドがパッケージマネージャーに渡されるようにしています。スクリプトが安全に実行できると確信している場合は、エディタを終了して、sudoを使用してスクリプトを実行してください:

  1. sudo bash nodesource_setup.sh
Output
… ## システムにはすでに別のソースからNode.jsがインストールされているようです。 Run `sudo yum remove -y nodejs npm` to remove these first. ## Node.js 18.xとnpmをインストールするには、`sudo yum install -y nodejs`を実行してください。 ## yumが利用できない場合は、dnfを実行することもできます: sudo dnf install -y nodejs ## ネイティブアドオンをビルドするためには開発ツールも必要かもしれません: sudo yum install gcc-c++ make ## Yarnパッケージマネージャーをインストールするには、次のコマンドを実行してください: curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum install yarn

リポジトリが設定に追加され、ローカルのパッケージキャッシュが自動的に更新されます。以前のセクションと同じ方法でNode.jsパッケージをインストールできるようになりました。新しいバージョンをインストールする前に、古いNode.jsパッケージを完全に削除することをおすすめします。これにより、設定は一切影響を受けず、インストールされているバージョンのみが削除されます。サードパーティのリポジトリは常にストックパッケージの直接のアップグレードとして機能するようにソフトウェアをパッケージ化しているわけではありません。問題が発生した場合は、常にクリーンな状態に戻すことを試してみることができます。

  1. sudo dnf remove nodejs npm -y
  2. ```command
  3. sudo dnf install nodejs -y

新しいバージョンが正しくインストールされたことを確認するには、nodeコマンドを-vオプションとともに実行してください:

  1. node -v
Output
v18.9.0

NodeSourceのnodejsパッケージには、nodeバイナリとnpmの両方が含まれているため、別途npmをインストールする必要はありません。

この時点で、Node.jsとnpmdnfとNodeSourceリポジトリを使用して正常にインストールしました。次のセクションでは、Node Version Managerを使用して複数のバージョンのNode.jsをインストールおよび管理する方法を説明します。

オプション3 — Node Version Managerを使用したNodeのインストール

特に柔軟な方法として、Node Version Manager(nvm)を使用してNode.jsをインストールすることもできます。このソフトウェアを使用すると、複数の独立したNode.jsバージョンとそれに関連するNodeパッケージを同時にインストールおよび管理することができます。

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

bashにコマンドをパイプする前に、スクリプトをオーディットして同意しない処理がないか確認することは常に良いアイデアです。これには、curlコマンドの末尾の| bashセグメントを削除することで行うことができます。

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

変更内容に問題がないか確認してください。満足したら、コマンドを再度実行し、末尾に| bashを追加してください。使用するURLは、nvmの最新バージョンに応じて変更されますが、現時点では以下のコマンドでスクリプトをダウンロードして実行できます:

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

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

  1. source ~/.bashrc

そして、NVMで利用可能なNodeのバージョンを確認できます:

  1. nvm list-remote
Output
. . . v16.13.1 (LTS: Gallium) v16.13.2 (LTS: Gallium) v16.14.0 (LTS: Gallium) v16.14.1 (LTS: Gallium) v16.14.2 (LTS: Gallium) v16.15.0 (LTS: Gallium) v16.15.1 (LTS: Gallium) v16.16.0 (LTS: Gallium) v16.17.0 (Latest LTS: Gallium) v17.0.0 v17.0.1 v17.1.0 v17.2.0 …

非常に長いリストですね!リリースバージョンのいずれかを入力することで、Nodeのバージョンをインストールできます。たとえば、バージョンv16.16.0(LTSリリース)を取得するには、以下のコマンドを入力します:

  1. nvm install v16.16.0

インストールされている異なるバージョンは、以下のコマンドを入力することで確認できます:

nvm list
Output
-> v16.16.0 system default -> v16.16.0 iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v16.16.0) (default) stable -> 16.16 (-> v16.16.0) (default) lts/* -> lts/gallium (-> 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.24.1 (-> N/A) lts/erbium -> v12.22.12 (-> N/A) lts/fermium -> v14.20.0 (-> N/A) lts/gallium -> v16.17.0 (-> N/A)

これにより、現在アクティブなバージョンが最初の行に表示されます(-> v16.16.0)、その後にいくつかのエイリアスと、それらのエイリアスが指すバージョンが表示されます。

注意:もしdnfを使ってNode.jsのバージョンをインストールしている場合、ここにsystemというエントリが表示されるかもしれません。いつでもnvm use systemを使用して、システムにインストールされたNodeのバージョンをアクティブにすることができます。

これらのエイリアスに基づいてリリースをインストールすることもできます。たとえば、fermiumをインストールするには、以下のコマンドを実行します:

  1. nvm install lts/gallium
Output
Downloading and installing node v16.17.0... Downloading https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz... ################################################################################# 100.0% Computing checksum with sha256sum Checksums matched! Now using node v16.17.0 (npm v8.15.0)

他のセクションと同じテクニックを使って、インストールが成功したことを確認できます。以下のコマンドを入力して、正しいバージョンのNodeがインストールされているか確認できます:

  1. node -v
Output
v16.17.0

予想通り、正しいバージョンのNodeがマシンにインストールされています。互換性のあるnpmのバージョンも利用可能です。

結論

Rocky LinuxサーバーでNode.jsを使うためのいくつかの方法があります。状況によって、上記の方法の中から最適なものを選択する必要があります。Rockyのリポジトリ内のパッケージ版を使用する方法が最も簡単ですが、nvmやNodeSourceリポジトリを使用することで追加の柔軟性が得られます。

Node.jsでプログラミングする方法についての詳細は、当社のチュートリアルシリーズ「Node.jsでのコーディング方法」を参照してください。

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-rocky-linux-9