anyenv+ndenvでプロジェクトごとにnode.jsのバージョンを切り替える

anyenv+ndenvでプロジェクトごとにnode.jsのバージョンを切り替える

複数のプロジェクトが並行で走っており、それぞれで異なるnode.jsのバージョンが必要な場合は利用するnode.jsのバージョン管理が必須になってきます。

node.jsのバージョン管理にはnodebrewnodistnvmなど様々なツールがあります。

ndenvはいわゆる**env系のnode.jsバージョンで、**envではnodenv以外にもrubyのバージョンを管理するrbenvや、PHPのバージョンを管理するphpenvなど様々な言語のバージョンが存在します。

**envにはanyenvと呼ばれる管理ツールが存在するため、ローカルで複数の言語のバージョンを管理しなくては行けない人にはお勧めのツールです。

anyenvのインストール

anyenvは以下のコマンドでインストールを行います。

git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l

これでanyenvがインストールされました。

ndenvのインストール

ndenvは以下のコマンドでインストールを行います。

anyenv install ndenv

インストールができたら「ndenv」コマンドが利用できるようになり以下のコマンドでインストールできるnode.jsのバージョンの一覧が表示されるようになります。

ndenv install -l

利用したいバージョンが発見できたら以下のコマンドで、指定したバージョンのnode.jsのインストールを行うことができます。

ndenv install v7.4.0

インストールが終了したら以下のコマンドで利用を開始します。

ndenv global v7.4.0

以下のコマンドでnode.jsのバージョンを確認して、指定したバージョンが表示されたらndenvはちゃんと動作しています。

node -v

node.jsのバージョン切り替え

先ほど、node.jsのv7.4.0の利用を開始しましたが、ちょっと前のプロジェクトがv6.9.4に依存しているためバージョンを上げることによりプロジェクトのファイルが動作しなくなるなどが発生したとします。

まず、以下のコマンドで現在利用できるnode.jsのバージョンを確認します。

ndenv versions

目的のバージョン(今回はv6.9.4)がなければインストールを行い、

ndenv install v6.9.4

インストールが終了したら以下のコマンドでv6.9.4の利用を開始します。

ndenv global v6.9.4

一度インストールしてしまえば簡単に変更することができます。

プロジェクト毎にnode.jsのバージョンを切り替える

ただ、このままでは毎回コマンドでバージョンを切り替えなくてはいけなく面倒です。プロジェクト毎に利用するnode.jsのバージョンが自動で切り替わるように設定しましょう。

まず、以下のコマンドでベースのnode.jsのバージョンをv7.4.0に変更して

ndenv global v7.4.0

プロジェクトのルートディレクトリで以下のコマンドを入力してバージョンを確認します。

ndenv local v6.9.4
node -v

これでプロジェクトディレクトリのみでnode.jsのv6.9.4が利用されるようになります。

これは.node-versionsというファイルで管理されていますので、gitなどで管理しておけばプロジェクトで利用するnode.jsのバージョンを固定化することができます。

スポンサードリンク

«Web制作の現場で使う jQueryデザイン入門 [改訂新版] 10刷決定 | メイン | SystemJSでAngular 2の環境を構築する»