nvm の使い方
ネットの言葉で nvm と言えば "Never mind" (「やっぱり、いいや。今言ったこと忘れて、気にしないで」っぽい意味です。) です。
でも、このページで紹介する nvm は意味が違って、Node.js のバージョン管理を行うためのソフトウェアツールです。
1. nvm とは?
nvm は Node Version Manager (ノード・バージョン管理ツール) の意味です。nvm を使うとひとつのシステム内に 複数のバージョンの Node.js をインストールしておき、必要に応じてバージョンを切り替えて使えるようになります。
MIT ライセンスで公開されており、誰でもフリーで使うことができます。
ただし、Mac と Linux にのみ対応していて、Windows には対応していません。Windows で nvm を使うには、 WSL (Windows Subsystem for Linux) を使うか nvm-windows などの他のツールを使う必要があります。
nvm-windows については 「nvm for Windows の使い方」をみてください。
このサイトでは macOS を使う前提で書いています。
最新情報については、本家のサイトを参照してください。
2. nvm のインストール方法
nvm をインストールするには、ターミナルで次のコマンドを実行します。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
ただし、この中で v0.35.0 の部分は nvm のバージョンです。 実際にインストールするときには最新バージョンに置き換えてください。
インストールできたら、ターミナルを起動し直せば、nvm コマンドが使用できます。
3. nvm のコマンド
3-1. node のバージョン確認コマンド
インストール可能な Node.js のバージョン一覧を表示するには、nvm ls-remote コマンドを実行します。
もし利用可能な Node.js の LTS バージョンのみを確認するには、nvm ls-remote --lts とします。
実際に実行すると次のようになります。
$ nvm ls-remote --lts ... v10.16.1 (LTS: Dubnium) v10.16.2 (LTS: Dubnium) v10.16.3 (Latest LTS: Dubnium)
ちなみに、バージョンのリストはズラッと長い結果が返ります。例えば最後の5行だけを表示するには、 tail コマンドと組み合わせて次のようにできます。
$ nvm ls-remote --lts | tail -n5 v10.15.3 (LTS: Dubnium) v10.16.0 (LTS: Dubnium) v10.16.1 (LTS: Dubnium) v10.16.2 (LTS: Dubnium) v10.16.3 (Latest LTS: Dubnium)
先頭行が欲しい時は head コマンドと組み合わせます。
また、それぞれのメジャーバージョンで最新版を確認するには grep を使います。
$ nvm ls-remote --lts | grep Latest v4.9.1 (Latest LTS: Argon) v6.17.1 (Latest LTS: Boron) v8.16.1 (Latest LTS: Carbon) v10.16.3 (Latest LTS: Dubnium)
現在、システムにインストールされている Node のバージョンを確認するには、nvm ls コマンドを実行します。
$ nvm ls -> v8.16.1 v10.16.3 system default -> v10.16.3 ...
最初のバージョン番号のリストと system の箇所が nvm で管理されている Node.js のバージョンです。
system バージョンというのは、nvm を使わないでシステムにインストールした Node のことです。
-> でポイントされているバージョンが、現在使用中の Node.js です。
3-2. node のインストールコマンド
nvm コマンドの install オプションで、Node.js をインストールできます。
このとき install に続けてバージョンを指定します。例えばバージョン v10.16.3 をインストールするには、nvm install v10.16.3 とします。
最新版をインストールするには nvm install node とします。
nvm を使ってインストールした Node.js は nvm の管理下に置かれて、自由にバージョンを切り替えられるようになります。
$ nvm install v8.16.1 Downloading and installing node v8.16.1... ... Computing checksum with shasum -a 256 Checksums matched! Now using node v8.16.1 (npm v6.4.1) $ nvm ls -> v8.16.1 v10.16.3 system default -> v10.16.3 ... $ node -v v8.16.1
インストールが終わると、自動的にインストールしたバージョンの Node.js が使われるように設定されます。
3-3. 使う node のバージョンを切り替えるコマンド
使用する Node.js のバージョンを切り替えるには nvm use バージョン とします。
例えば、次の例では nvm ls コマンドで、 v8.16.1 と v10.16.3 と system がインストールされていて、v10.16.3 が使用中であることがわかります。
$ nvm ls v8.16.1 -> v10.16.3 system
そこで、使用する Node.js のバージョンを v8.16.1 に切り替えるには次のコマンドを実行します。
$ nvm use v8.16.1 Now using node v8.16.1 (npm v6.4.1)
nvm ls コマンドで確認すると、確かに -> で指し示されており、 node -v でバージョンを確認しても確かに v8.16.1 になっています。
$ nvm ls -> v8.16.1 v10.16.3 system default -> v10.16.3 ... $ node -v v8.16.1
このように、nvm を使うと好きなバージョンの Node.js をシステムにインストールして、必要に応じて好きなバージョンに切り替えて使うことができます。
以上で nvm の基本的な使い方について説明しました。