Node Version Manager(NVM略)は、Linuxシステム上で複数のアクティブなnode.jsバージョンを管理するためのシンプルなbashスクリプトです。複数のnode.jsバージョンをインストールし、インストール可能なすべてのバージョンとシステムにインストールされているすべてのバージョンを表示することができます。
Nvmは、特定のnode.jsバージョンを実行することもサポートしており、それがインストールされた実行可能ファイルへのパスを表示したり、その他の機能も提供しています。
この記事では、Linuxディストリビューションで複数のアクティブなnode.jsバージョンを管理するためにNode Version Manager(NVM)をインストールする方法を説明します。
目次
LinuxにNVM(Node Version Manager)をインストールする
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」と表示されます。
LinuxでNode Version Managerを使用する方法を学ぶ時が来ました。最新リリースのnodeをダウンロードし、コンパイルし、インストールするには、次のコマンドを実行してください:
# 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)
特定の「node」バージョンをインストールするには、まず利用可能なnodeバージョンをリストアップし、その後、表示されるバージョンをインストールしてください。
# 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)
Node.jsのバージョンをnvmを使ってインストールしたら、システムは今やNode.jsとnpmのバージョンをnvmの下で指すようになりました。次のようにnodeとnpmのバイナリ/コマンドの場所を確認できます:whichコマンドを実行して、使用されている
# 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)
プロジェクトのためのNodeバージョンを選択する
ここでnvmが興味深くなります。これで、必要に応じて作業中の各プロジェクトに使用するnode.jsのバージョンを選択するためにnvmを使用できるようになりました。以下で説明する方法を見てみましょう。
複数のターミナルを開き、プロジェクトディレクトリに移動します。このガイドでは、偽ってバージョン19.0.0と20.0.0のノードを必要とする~/projects/app-server
および~/projects/test-ui
の2つのプロジェクトがあります。
------------ 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 バージョンを設定する
さらに、新しいシェルで使用するデフォルトのノードバージョンを手動で設定するには、次のようにエイリアス“default”を使用します。
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.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。
以上です!Node Version Managerは、Linux システムで複数のアクティブなnode.jsバージョンを管理するためのシンプルな bash スクリプトです。質問やコメントを共有するために、以下のフィードバックフォームをご利用ください。
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/