こんにちわ。今日はフロントエンド開発のビルド環境として利用するNode.jsのバージョン管理のためnvmを導入します。
前提
- MacOS 10.15.x
- bash
Linux系OSでも同じ手順で導入できます。
NVMとは
nvmはPythonでいうところのvenv,pyenv、Rubyだと rbenv 相当の、Node.jsの環境複製ツールとなります。
Node.jsはグローバルインストールすることもできますが、複数用途で環境を分けたいケースで利用します。
昨今のフロントエンド開発ではNode.jsを使ってデバッグ用サーバを立てたりProductionデプロイ用に静的ファイルを圧縮するなどwebpackを利用することがほとんどだと思います。開発環境を整備する際は入れておくと良いでしょう。
また、フロント界隈だとライブラリの進化がとても早いので、Nodeをビルドや実行環境として利用する場合、ライブラリ側が要求するNodeバージョンがアップデートされていきます。ライブラリのバージョンアップグレードとともにNodeのアップグレードも必要となることが多く、バージョン更新作業時の検証でもnvmは活躍します。
インストールする
NVM自体のインストールは簡単です。
curlでインストーラーをダウンロードして実行します。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
nvmコマンドへのパスを通します。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
ホームディレクトリ直下に「.nvm」というディレクトリが作成され、nvmがgit cloneされています。
$ cd $HOME/.nvm
$ git log
commit eed0d0e85ccb35e8802b0df7061491e6cf5d6a4b (HEAD -> master, origin/master, origin/HEAD)
Author: Jordan Harband <ljharb@gmail.com>
Date: Mon Apr 26 12:56:08 2021 -0700
[meta] add project charter and governance
Nodeの新しいバージョンがリリースされたら適宜 nvm のリポジトリに追加されます。たまに git pull して新しいコミットを取り込むと良いでしょう。
使い方
インストール可能なバージョンを確認する。
$ nvm ls-remote
バージョンを指定してNode.jsをインストールする。
$ nvm install v12.22.1
最新のLTSバージョンをインストールする。
$ nvm install --lts
インストール済みのバージョンを確認する。
$ nvm ls
インストールしたバージョンに切り替える(バージョン名を指定する)。
$ nvm use v12.22.1
Windows向け
公式のインストールドキュメントから抜粋。
Note: nvm also support Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with GitBash (MSYS) or Cygwin. Otherwise, for Windows, afew alternatives exist, which are neither supported nor developed by us:
CygwinやWSLなどのUnixシミュレート環境を使うか、代替ツールを使ってねとのこと。
詳しくは 公式 のインストール手順を参照してください。