Ubuntu 22.04にNode.jsをインストールおよび設定する方法

Ubuntu

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

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

  1. aptを使用してUbuntuのデフォルトソフトウェアリポジトリからnodejsパッケージをインストールする方法
  2. aptと代替PPAソフトウェアリポジトリを使用して特定のバージョンのnodejsパッケージをインストールする方法
  3. nvm(Node Version Manager)をインストールし、複数のバージョンのNode.jsを管理する方法

多くのユーザーにとって、デフォルトリポジトリを使用する方法で十分です。特定の新しいバージョンや古いバージョンが必要な場合は、PPAリポジトリを使用してください。Nodeアプリケーションを積極的に開発しており、頻繁にNodeバージョンを切り替える必要がある場合は、nvm方法を選んでください。

前提条件

  • Ubuntu 22.04を使用
  • sudo権限を持つ非rootユーザーアカウント

1.デフォルトリポジトリからAptを使用してNode.jsをインストールする

Ubuntu 22.04には、デフォルトのリポジトリにNode.jsのバージョンが含まれており、複数のシステムで一貫した体験を提供できます。執筆時点では、リポジトリ内のバージョンは12.22.9です。これは最新バージョンではありませんが、言語の迅速な実験には十分安定しています。

注意:Ubuntu 22.04に含まれているNode.jsのバージョン12.22.9は、LTS(長期サポート)リリースです。技術的には古いですが、Ubuntu 24.04がリリースされるまでサポートされるはずです。

このバージョンを取得するには、aptパッケージマネージャーを使用します。まず、ローカルパッケージインデックスを更新します:

sudo apt update

次に、Node.jsをインストールします:

sudo apt install nodejs

インストールの確認を求められたら、「Y」と入力します。サービスの再起動を求められた場合は、ENTERキーを押してデフォルトを受け入れて続行します。Nodeのバージョン番号を確認して、インストールが成功したことを確認します:

node -v

出力:

v12.22.9

リポジトリ内のパッケージがニーズに合っていれば、これでNode.jsのセットアップは完了です。ほとんどの場合、npm(Node.jsパッケージマネージャー)もインストールしたいでしょう。これを行うには、aptを使用してnpmパッケージをインストールします:

sudo apt install npm

これで、Node.jsで使用するモジュールやパッケージをインストールできます。

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

2.NodeSource PPAを使用してAptでNode.jsをインストールする

異なるバージョンのNode.jsをインストールするには、NodeSourceが管理するPPA(Personal Package Archive)を使用できます。これらのPPAは、公式のUbuntuリポジトリよりも多くのバージョンのNode.jsを提供しています。執筆時点では、Node.js v14、v16、およびv18が利用可能です。

まず、PPAをインストールしてそのパッケージにアクセスします。ホームディレクトリから、curlを使用して希望のバージョンのインストールスクリプトを取得します。以下のコマンドで、18.xを希望のバージョン文字列に置き換えます(異なる場合)。

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

利用可能なバージョンについては、NodeSourceのドキュメントを参照してください。

ダウンロードしたスクリプトの内容を確認するには、nano(またはお好みのテキストエディタ)を使用します:

nano nodesource_setup.sh

サードパーティのシェルスクリプトを実行することは必ずしもベストプラクティスとは言えませんが、この場合、NodeSourceは適切なコマンドがディストリビューションとバージョンの要件に基づいてパッケージマネージャーに渡されるように自らのロジックを実装しています。スクリプトが安全であることを確認したら、エディタを終了し、sudoでスクリプトを実行します:

sudo bash nodesource_setup.sh

PPAが構成に追加され、ローカルパッケージキャッシュが自動的に更新されます。これで、前のセクションと同じ方法でNode.jsパッケージをインストールできます。新しいバージョンをインストールする前に、古いNode.jsパッケージを完全に削除することをお勧めします。これにより、設定には影響しませんが、インストールされたバージョンには影響します。サードパーティのPPAは、必ずしもストックパッケージの上位互換としてソフトウェアをパッケージ化しているわけではないため、問題が発生した場合は、常にクリーンスレートに戻すことができます。

sudo apt remove nodejs npm
sudo apt install nodejs

新しいバージョンがインストールされたことを確認するには、-vバージョンフラグを使用してnodeを実行します:

node -v

出力:

v18.7.0

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

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

3.Node Version Managerを使用してNodeをインストールする

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

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

コマンドをbashにパイプする前に、スクリプトを監査して、同意しない変更を行っていないことを確認することをお勧めします。これを行うには、curlコマンドの末尾から| bashセグメントを削除します:

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

スクリプトを確認して、行っている変更に満足したら、末尾に| bashを追加してコマンドを再実行します。使用するURLは最新のnvmバージョンに応じて変わりますが、現在のところ、次のコマンドを入力してスクリプトをダウンロードして実行できます:

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

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

source ~/.bashrc

これで、NVMに利用可能なNodeのバージョンを確認するように依頼できます:

nvm list-remote

出力:

. . .
       v16.11.1
       v16.12.0
       v16.13.0   (LTS: Gallium)
       v16.13.1   (LTS: Gallium)
       v16.13.2   (LTS: Gallium)
       v16.14.0   (Latest LTS: Gallium)
        v17.0.0
        v17.0.1
        v17.1.0
        v17.2.0
        v17.3.0
        v17.3.1
        v17.4.0
        v17.5.0
        v17.6.0

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

nvm install v16.14.0

インストールされている異なるバージョンを確認するには、次のコマンドを入力します:

nvm list

出力:

->     v16.14.0
default -> v16.14.0
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.14.0) (default)
stable -> 16.14 (-> v16.14.0) (default)
lts/* -> lts/gallium (-> v16.14.0)
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.10 (-> N/A)
lts/fermium -> v14.19.0 (-> N/A)
lts/gallium -> v16.14.0

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

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

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

nvm install lts/fermium

出力:

Downloading and installing node v14.19.0...
Downloading https://nodejs.org/dist/v14.19.0/node-v14.19.0-linux-x64.tar.xz...
################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v14.19.0 (npm v6.14.16)

他のセクションと同じ方法で、インストールが成功したことを確認できます。次のコマンドを入力します:

node -v

出力:

v14.19.0

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

4.Node.jsの削除

Node.jsを削除するには、インストール方法に応じてaptまたはnvmを使用できます。システムリポジトリからバージョンを削除するには、apt removeを使用します:

sudo apt remove nodejs

デフォルトでは、apt removeはインストール後に作成されたローカル設定ファイルを保持します。後で設定ファイルを保存しない場合は、apt purgeを使用します:

sudo apt purge nodejs

nvmを使用してインストールしたNode.jsのバージョンをアンインストールするには、まず現在アクティブなバージョンであるかどうかを確認します:

nvm current

対象バージョンが現在アクティブなバージョンでない場合は、次のコマンドを実行します:

nvm uninstall node_version

出力:

Uninstalled node node_version

このコマンドは、選択したNode.jsバージョンをアンインストールします。

削除したいバージョンが現在のアクティブバージョンである場合は、まずnvmを非アクティブにして変更を有効にする必要があります:

nvm deactivate

これで、以前使用したuninstallコマンドを使用して現在のバージョンをアンインストールできます。これにより、対象バージョンに関連するすべてのファイルが削除されます。

Ubuntu 22.04サーバーでNode.jsを起動して実行する方法は多数あります。上記の方法のどれが最適かは、状況に応じて異なります。Ubuntuのリポジトリにパッケージされたバージョンを使用するのが最も簡単な方法ですが、nvmやNodeSource PPAを使用すると追加の柔軟性が得られます。

購読
通知
0 Comments
Inline Feedbacks
View all comments