本記事では、anyenvとnodenvを使ってMacにNode環境を構築する。
nodenvとは
プロジェクト(ディレクトリ)ごとに、Node.jsのバージョンを管理することができるバージョン管理ツールのこと。
なぜnodenvを使用するのか?
仮に、nodenvを使用せずに、あるプロジェクトAのためにNodeのv7系を固定でインストールすると、別のプロジェクトBにおいてv8系を使用する必要があった際にはNodeのアップデートが必要となってしまう。
nodenvを使用したバージョン管理をしていると、上記のようなプロジェクトごとに異なるバージョンを使用する際の手間をなくすことができる。
今回はnoodenvを包括するanyenvを使ってNodeのバージョン管理を行える環境を構築していく。nodenvの他にもRubyやPythonのバージョン管理を行う〇〇envも存在し、anyenvはこれらのバージョン管理ツールを包括的に管理するツールである。
anyenvのインストール
以下のコマンドを実行しanyenvをインストールする
% brew install anyenv
nodenvをインストールする前にanyenvの初期化が必要なため初期化を行う。
% anyenv install --init
... Do you want to checkout ? [y/N]: y <- yと答える
remote: Total 62 (delta 1), reused 1 (delta 0), pack-reused 57
Unpacking objects: 100% (62/62), done.
Completed!
anyenvのインストールに成功したので、次にnodenvのインストールを行う。
nodenvのインストール
以下のコマンドを実行しnodenvをインストールする
% anyenv install nodenv
...
Resolving deltas: 100% (76/76), done.
~
Install nodenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.
プロファイルの更新のため、以下のコマンドも続けて実行する。
% exec $SHELL -l
インストール可能なバージョンを以下コマンドの実行結果から確認することができればインストールに成功。
% nodenv install -l
0.1.14
0.1.15
...
...
※ nodenvコマンドの実行に失敗した時の対処方
.zshrc ファイルが未作成のため、nodenvのパスが設定されていなく失敗する場合は、以下の対処を行うことを勧める
-
vi ~/.zshrcを実行 -
eval "$(anyenv init -)"を書き込み保存する - 再度、
anyenv install nodenvを実行する
Node.jsのインストール
以下のコマンドを実行しNode.jsをインストールする。今回は12.20.0をインストールする。
% nodenv install 12.20.0
インストール済みのバージョンは以下のコマンドから確認できる。12.20.0が表示されれば無事にNode.jsのインストールに成功している。
% nodenv whence npm
12.20.0
グローバルのNode.jsのバージョンを指定
以下のコマンドで、インストール済の12.20.0をグローバルなバージョンとして指定する。
% nodenv global 12.20.0
動作確認
nodeコマンドを実行し、12.20.0が表示されれば無事にNode環境の構築ができている。
% node -v
v12.20.0
ディレクト毎にバージョンを切り替えたい場合
今回は12.20.0のNodeバージョンを使用できるようにしたが、特定のディレクトリでは8.0.0を使用したくなったときの手順を最後に紹介する。
- Node.js
8.0.0をインストール
% nodenv install 8.0.0
-
8.0.0を使用したディレクトに移動する。(今回はnode-8)
% cd node-8
- localオプションで
8.0.0を指定
% nodenv local 8.0.0
- 対象ディレクトリ配下で
node -vを実行し8.0.0が表示されれば成功
% node -v
8.0.0
nodenv local 8.0.0実行時には、指定したバージョンが記載された.node-versionファイルが生成される。このファイルに指定された値を変更することで使用するバージョンも変更することができる。
参考記事