ウェブサイト検索

NVM - Linux での複数の Node.js バージョンのインストールと管理


ノード バージョン マネージャー (略してNVM) は、Linux システム上の複数のアクティブな Node.js バージョンを管理するための単純な bash スクリプトです。複数のnode.js バージョンをインストールし、インストール可能なすべてのバージョンとシステムにインストールされているすべてのバージョンを表示できます。

Nvm は、特定の node.js バージョンの実行もサポートしており、実行可能ファイルがインストールされている場所へのパスなどを表示できます。

この記事では、ノード バージョン マネージャー (NVM) をインストールして、Linux ディストリビューション上の複数のアクティブな node.js バージョンを管理する方法について説明します。

Linux への NVM (ノード バージョン マネージャー) のインストール

Linux ディストリビューションで nvm をインストールまたは更新するには、次のように、curl または wget コマンド ライン ツールを使用して自動インストール スクリプトをダウンロードできます。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

上記の自動インストール スクリプトは、nvm リポジトリをホーム ディレクトリの ~/.nvm に複製し、必要なソース コマンドをシェル起動スクリプト (~/) に追加します。 .bash_profile~/.zshrc~/.profile、または ~/.bashrc (使用するシェル プログラムに応じて)次の出力に示すように使用しています。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  34227      0 --:--:-- --:--:-- --:--:-- 34301
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0
Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
...

インストールが完了したら、現在のターミナル ウィンドウを閉じて新しいターミナル ウィンドウを開きます。または、単純にシェル プロファイル ファイルを取得してnvm をロードします。たとえば、bash を使用している場合は、次のコマンドを実行します。

source ~/.bashrc
OR
source ~/.profile

次に、次のコマンドを使用して、nvm がシステムにインストールされているかどうかを確認します。

command -v nvm

nvm

インストールが成功すると、出力が「nvm」として表示されます。

NVM を使用して複数の Node.js バージョンをインストールする

ここで、Linux でノード バージョン マネージャーの使用方法を学習します。 ノードの最新リリースをダウンロード、コンパイル、インストールするには、次のコマンドを実行します。

nvm install node 

上記のコマンドの「node」 は最新バージョンのエイリアスであることに注意してください。

Downloading and installing node v20.0.0...
Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.0.0 (npm v9.6.4)
Creating default alias: default -> node (-> v20.0.0)

特定の「ノード」 バージョンをインストールするには、まず利用可能なノード バージョンをリストし、次に示されているバージョンをインストールします。

nvm ls-remote
nvm install 19.0.0  
Downloading and installing node v19.0.0...
Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v19.0.0 (npm v8.19.2)

nvm を使用して Node.js バージョンをインストールすると、システムは Node.jsnpm を指すようになります。 Strong> バージョンは nvm の下にあります。次のように that コマンドを実行すると、使用されている node および npm バイナリ/コマンドの場所を確認できます。

which node
/root/.nvm/versions/node/v20.0.0/bin/node

# which npm
/root/.nvm/versions/node/v20.0.0/bin/npm

# node -v
v20.0.0

# npm -v
9.6.4

インストールされている Node.js バージョンの一覧表示

次のコマンドを使用して、インストールされているすべてのバージョンを確認できます。

nvm ls
->      v19.0.0
        v20.0.0
         system
default -> node (-> v20.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.0.0) (default)
stable -> 20.0 (-> v20.0.0) (default)
lts/* -> lts/hydrogen (-> 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.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)

プロジェクトのノード バージョンの選択

ここでnvm が興味深いものになります。 nvm を使用して、要件に基づいて、作業中の各プロジェクトに使用する node.js のバージョンを選択できるようになりました。以下で説明するように、これを行う方法を見てみましょう。

複数のターミナルを開き、プロジェクトディレクトリに移動します。このガイドでは、~/projects/app-server~/projects/test-ui の下に 2 つのプロジェクトがあり、これらは見かけ上ノード バージョン 19.0.0 と 20.0.0 を必要とします。 。

------------ Project 1 ------------ 
cd ~/projects/api-server
nvm use 19.0.0
node -v

------------ Project 2 ------------
cd ~/projects/test-ui
nvm use 20.0.0
node -v

たとえば、バージョン 19.0.0 がアクティブなときにグローバル パッケージがインストールされている場合、バージョン 20.0.0 に切り替えるときに、新しいバージョンでグローバル パッケージを再インストールする必要があります。

重要なのは、次のように、特定のノード バージョンがインストールされている実行可能ファイルへのパスを表示できることです。

nvm which 20.0.0
nvm which 19.0.0
nvm which system  #check system-installed version of a node using “system” alias

Linux でのデフォルトの Node.js バージョンの設定

さらに、新しいシェルで使用されるデフォルトのノード バージョンを手動で設定するには、示されているようにエイリアス「デフォルト」 を使用します。

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Linux での Node.js バージョンのアンインストール

Node.js のバージョンをアンインストールまたは削除するには、次のコマンドを実行します (19.0.0 をバージョン番号に置き換えることを忘れないでください)。

nvm uninstall 19.0.0

Linux での NVM のアンインストール

システムからnvm を手動で削除するには、次のコマンドを実行します。

rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm

次に、~/.bashrc (または上記の該当するシェル プロファイル設定ファイル) を編集し、次の設定行を削除します。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion

詳細については、nvm --help を参照するか、Node Version Manager Github リポジトリ (https://github.com/nvm-sh/nvm) にアクセスしてください。

それだけです! ノード バージョン マネージャー は、Linux システム上の複数のアクティブな node.js バージョンを管理するためのシンプルな bash スクリプトです。ご質問やご意見を共有するには、以下のフィードバック フォームをご利用ください。