nvmを導入してNode.js環境を管理する

2021年06月01日

こんにちわ。今日はフロントエンド開発のビルド環境として利用する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コマンドへのパスを通します。

~/.bash_profile
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シミュレート環境を使うか、代替ツールを使ってねとのこと。

詳しくは 公式 のインストール手順を参照してください。


Web系エンジニアでPython好き。バックエンド/フロントエンド問わずマルチな方面でエンジニアリングしています。