MacにNodeをインストールする方法を解説します。

今回は、環境ごとにバージョンを簡単に切り替える anyenv を使用してインストールします。

Nodeのインストールまでに行う手順は、以下のとおりです。

  1. anyenvをインストール
  2. nodenvをインストール
  3. Node.jsをインストール
anyenvはMacのみとなります。
Windowsの方は nodist をお試しください。

Nodeがインストール済みかどうか確認する


$ node --version
command not found: node
                

anyenv(nodenv)を使用してNode.jsをインストールする

Nodeには多くのバージョンが存在し、開発するプロジェクトによってNodeのバージョンが異なることがあります。

このバージョンをプロジェクトごとに簡単に切り替えることができるnodenvを使用します。

この nodenv は単体でもインストールすることができますが、node 以外にも PythonPHPRubySwift などのバージョンをまとめて管理できる anyenv をインストールして使用します。

anyenvのドキュメント通りに実行すれば簡単にインストールできます。

anyenvをインストールする

1.gitからリポジトリをクローンする
$ git clone https://github.com/anyenv/anyenv ~/.anyenv
                
2.パスを追加する(zshの場合)
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc
                
3.初期化する
$ ~/.anyenv/bin/anyenv init
                

すると、

# Load anyenv automatically by adding
# the following to ~/.zshrc:

eval "$(anyenv init -)"

のように「シェルのリソースファイルに eval “$(anyenv init -)” を追加して anyenv を自動でロードする」というメッセージが出力されるので以下を実行して設定します。

3.5 (zshの場合)
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc
                
4. 設定ファイルをリロード
$ exec $SHELL -l
                

リロードすると以下のようなメッセージが出力されます。

ANYENV_DEFINITION_ROOT(/Users/hanako/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init

インストールのマニフェストディレクトリを初期化
$ anyenv install --init
Manifest directory doesn't exist: /Users/rabi/.config/anyenv/anyenv-install
Do you want to checkout ? [y/N]: y
y
Cloning https://github.com/anyenv/anyenv-install.git master to /Users/hanako/.config/anyenv/anyenv-install...
Cloning into '/Users/rabi/.config/anyenv/anyenv-install'...
remote: Enumerating objects: 48, done.
remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48
Unpacking objects: 100% (48/48), done.

Completed!
                

マニフェストディレクトリをダウンロードすることで各言語のバージョンのインストールが可能になるので「y」を入力して実行します。

anyenvのプラグインをインストールする

anyenvでインストールした各言語(*env)を自動で一括アップデートしてくれる便利なプラグインをインストールします。

最初の頃は不要ですが、インストールするバージョンが多くなってくると必要となってくるのでこの段階でインストールしておくといいと思います。

anyenv-updateプラグイン

anyenv-updateプラグインをインストールします。

anyenvをクローンしたフォルダ内に plugins フォルダを作成します。


$ mkdir -p ~/.anyenv/plugins
                

プラグインを作成した plugins フォルダにクローンします。


$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update
                

一括アップデートする場合は以下のように実行します。


$ anyenv update
Updating 'anyenv'...
Updating 'anyenv/anyenv-update'...
Updating 'nodenv'...
Updating 'nodenv/node-build'...
Updating 'nodenv/nodenv-default-packages'...
Updating 'nodenv/nodenv-vars'...
Updating 'anyenv manifest directory'...
                

nodenvをインストールする

以下を実行してインストールできる*envのリストを表示してみましょう。


$ anyenv install -l
Renv
crenv
denv
erlenv
exenv
goenv
hsenv
jenv
luaenv
nodenv
phpenv
plenv
pyenv
rbenv
sbtenv
scalaenv
swiftenv
tfenv
                

nodenv をインストールします。


$ anyenv install nodenv
...省略
Install nodenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
                

メッセージにあるとおりログインシェルをリロードします。


$ exec $SHELL -l
                

nodenvでNode.jsをインストールする

インストール可能なNodeのバージョンをリスト表示してみましょう。


$ nodenv install -l
                

ずらっと多くのバージョンが出力されたと思います。

今回はこの中から長期的にメンテンスされていく安定版(LTS)のバージョンをインストールします。

今の時点で 12.18.3 LTS が多くのユーザーにオススメとのことで、このバージョンをインストールします。


$ nodenv install 12.18.3
                

nodenv を使用することでプロジェクトごとに使用する node のバージョンを切り替えることができます。

また、普段使用する node のバージョンを global を指定して設定できます。

global で使用する node のバージョンを設定する

先程インストールした node のバージョンを global で使用するバージョンに設定します。


$ nodenv global 12.18.3
                

この後に、現在適用されている node のバージョンを確認するために以下のコマンドを実行して設定を確認できます。


$ node -v
v12.18.3
                

プロジェクトごとに node のバージョンを設定する

次は、プロジェクトごとにバージョンを設定する場合の方法です。

まずは、設定するプロジェクトの root ディレクトリに移動します。


$ cd (プロジェクトフォルダのパス)
                

プロジェクトで使用する node のバージョンをインストールして、以下のコマンドで設定します(以下はバージョン 14.7.0 を設定する場合)。


$ nodenv local 14.7.0
                

バージョンを確認します。


$ node -v
v14.7.0
                

このフォルダ/ディレクトリ内では、この設定したバージョンが適用されていることが確認できます。

このフォルダ以外の場所では、global で設定したバージョンが適用されます。