Node.jsのバージョン管理ツールであるnvmのインストールと使い方

スポンサーリンク

Node.js のバージョン管理ツールである nvm のインストール方法と使い方です。

nvmのインストール

Mac の Homebrew と Linux などでの Install script を使用したインストール方法です。

Homebrew

$ brew install nvm
You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

Add the following to ~/.bash_profile or your desired shell
configuration file:

  export NVM_DIR="$HOME/.nvm"
  . "/usr/local/opt/nvm/nvm.sh"

You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.

Type `nvm help` for further information.

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

~/.nvmディレクトリを作成して~/.bash_profileに以下を追加してください。.の部分はsourceにしてますが同じです。

# nvm
export NVM_DIR="$HOME/.nvm"
source "/usr/local/opt/nvm/nvm.sh"
source "/usr/local/etc/bash_completion.d/nvm"

シェルを再起動してnvmのパスが通ってることを確認しましょう。補完も有効になっています。

$ exec $SHELL -l
$ nvm --version
0.33.2

コマンドはシェルの関数で実行可能なバイナリではないのでwhich nvmでは探せません。

$ which nvm
$ command -v nvm
nvm

Install script

インストールスクリプトも使用できます。

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

=> Downloading nvm from git to '/home/vagrant/.nvm'
=> Cloning into '/home/vagrant/.nvm'...

=> Appending nvm source string to /home/user/.bashrc
=> Appending bash_completion source string to /home/user/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

この場合は~/.bashrcに設定が追加されているのでシェルを再起動するだけで完了です。

$ exec $SHELL -l
$ nvm --version
0.33.2

Node.jsのインストール

installコマンドで Node.js をインストールします。

$ nvm install node  # 最新版をインストール
$ nvm install v6.10  # v6.10.*の最新版をインストール
$ nvm install 7  # v7.*の最新版をインストール。vは省略可

新しいバージョンのNode.jsをインストールし、npmパッケージを以前のバージョンから移行する場合は、次のようにします。

$ nvm version
v6.10.3
$ nvm install v7 --reinstall-packages-from=v6.10.3

lsコマンドでインストールされている Node.js のバージョン一覧を確認できます。->が示してるバージョンが選択されています。

$ nvm ls
        v6.10.3
        v7.10.0
->       v8.1.3
         system
default -> 6.10.3 (-> v6.10.3)
node -> stable (-> v8.1.3) (default)
stable -> 8.1 (-> v8.1.3) (default)

$ node --version
v8.1.3

useコマンドでバージョンを切り替えます。

$ nvm use 6.10.3
Now using node v6.10.3 (npm v3.10.10)

プロジェクトディレクトリに.nvmrcを作っておくことでバージョンを指定します。ただし対象のディレクトリに入ると自動で切り替わる訳ではありません。

$ mkdir test-project && cd test-project
$ echo "6.10.3" > .nvmrc
$ node --version
v8.1.3
$ nvm use
Found '/home/user/test-project/.nvmrc' with version <6.10.3>
Now using node v6.10.3 (npm v3.10.10)
$ node --version
v6.10.3