プロジェクトごとにNode.jsの環境を変える!nvmの活用で開発効率アップ
専門用語はあまり気にせず、このツールがどう便利で、どう使えば良いのかを、分かりやすくご説明しますね!
「nvm-sh/nvm」は、「Node Version Manager」の略で、Node.jsというプログラムの実行環境のバージョンを管理するためのツールです。
Node.jsは、Webサイトの裏側(サーバーサイド)の処理や、フロントエンドのツール(ビルドツールなど)で非常によく使われます。しかし、Node.js自体もどんどん新しくなっていて、バージョンがたくさんあります。
| 困ること | nvmで解決! |
| 複数のプロジェクトを掛け持ちしているとき、プロジェクトAは古いNode.js(例:v14)でしか動かない、プロジェクトBは新しいNode.js(例:v20)じゃないと動かない、なんてことがよくあります。 | nvmがあれば、コマンド一つで**「今からプロジェクトAのv14を使うぞ!」「次にプロジェクトBのv20に切り替えるぞ!」**と、簡単にバージョンを入れ替えられます。 |
| 新しいバージョンのNode.jsを試してみたいけど、今動いている環境を壊したくない。 | nvmなら、既存の環境に影響を与えず、新しいバージョンを**「インストールだけ」して、試すときだけ「切り替えて」**使えます。 |
つまり、複数のバージョンを安全かつ手軽に使い分けられるのが最大のメリットです。将来、プロのエンジニアとして働く上で、ほぼ必須のツールだと思って間違いありません!
nvmは、MacやLinuxでよく使われる「ターミナル」(コマンドライン)から操作します。
以下のコマンドをターミナルに貼り付けて実行します。これは、nvmのインストールスクリプトをダウンロードして実行するコマンドです。
# nvmの最新バージョンをインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
注意点
上記のv0.39.7の部分は、nvmの最新バージョンに合わせて変わることがあります。不安な場合は、で最新のインストール方法を確認しましょう。
インストール後、ターミナルを再起動するか、以下のコマンドを実行して設定を読み込みます。
# シェル(bashやzshなど)の設定ファイルを再読み込み
source ~/.bashrc # bashを使っている場合
# または
source ~/.zshrc # zshを使っている場合(Macの標準はこちらが多い)
nvmが正しくインストールされたか、バージョン番号を表示するコマンドで確認します。
command -v nvm
もしnvmと表示されれば成功です!
いよいよnvmを使ってNode.jsを管理する具体的なコマンドを見てみましょう。
LTS(Long Term Support
長期サポート版)は、安定していて推奨されるバージョンです。
# 推奨されている最新のLTSバージョンをインストール
nvm install --lts
# 特定のバージョン(例: v18.18.2)を指定してインストール
nvm install 18.18.2
# 別の特定のバージョン(例: v20.9.0)もインストール
nvm install 20.9.0
今、自分のパソコンにどのバージョンのNode.jsが入っているかを確認できます。
nvm ls
【表示例】
v18.18.2
-> v20.9.0
system
default -> 20.9.0 (-> v20.9.0)
node -> stable (-> v20.9.0) (default)
iojs -> N/A (default)
-> が付いているのが、現在使用しているバージョンです。
これが一番よく使う、nvmの魔法のコマンドです!
# バージョン v18.18.2 に切り替え
nvm use 18.18.2
# バージョン v20.9.0 に切り替え
nvm use 20.9.0
このコマンドを打つだけで、すぐにNode.jsのバージョンが切り替わります。
defaultに設定しておくと、新しくターミナルを開いたときに、自動でそのバージョンが使われるようになります。
# v20.9.0 を今後のデフォルトに設定
nvm alias default 20.9.0