Web制作を行う全ての方へ

Nodeのバージョン管理をndenvにし、それに合わせてanyenvを導入したのでメモ

プロジェクトごとにNodeのバージョンを随時切り替えるのが面倒だなとツイッターで呟いたところ、SOUさんにndenv、ついでにanyenv使うと良いですよと教えてもらったので、自分の環境をこれに変更しました。
その時のメモです。

anyenv とは

Nodeのバージョン管理はndenv、 Rubyのバージョン管理はrbenvというのがありますが、anyenvはそれら~envをまとめて管理できるツールです。

https://github.com/riywo/anyenv

現状環境の削除

これまでnvmを使っていたので環境から削除

  • ~/.nvm ディレクトリを削除
  • ~/.bash_profile に記述しているnvmの項目を削除

anyenv のインストール

ここからはハムさんのブログを参考にさせていただきました

Node.js の管理を「nodebrew」から「anyenv」に変更。 Ruby も Node.js でプロジェクトごとに使うバージョンを切り替える環境にしてみた

GitHubからのクローン

[code lang=text]
git clone https://github.com/riywo/anyenv ~/.anyenv
[/code]

パスの設定

~/.bash_profileにパスの設定を書き込みます。ハムさんと同じく僕もMac環境なのでそのまま引用

[code lang=text]
export PATH=$HOME/.anyenv/bin:$PATH
eval "$(anyenv init -)"
[/code]

bash系のファイルは編集したら下記コマンドを実行して編集内容を有効にします。

[code lang=text]
source ~/.bash_profile
[/code]

ndenv と rbenvのインストール

[code lang=text]
anyenv install rbenv
[/code]

[code lang=text]
anyenv install ndenv
[/code]

インストールされているかの確認

[code lang=text]
anyenv version
[/code]

[code lang=text]
ndenv: system (set by /Users/USERNAME/.anyenv/envs/ndenv/version)
rbenv: system (set by /Users/USERNAME/.anyenv/envs/rbenv/version)
[/code]

とか出てくればインストール出来ています。

あとはそれぞれ~env を利用してパッケージのインストールです。コマンドは最初の指定を変えるのみで、それ以降は同じになります。

[code lang=text]
# 例)
~env install -l
[/code]

~env の箇所を変えるだけ.

 

インストール可能なバージョンの確認

[code lang=text]
ndenv install -l
[/code]

インストールできるバージョンのリストが表示されるので、インストールしたいバージョンを選んでインストールします。

Node.jsのインストール

既存のプロジェクトで v4.4.7を使っていたのと、自動切り替えのテストを行いたかったのでとりあえず v6.11.3 をインストールしました

[code lang=text]
ndenv install v4.4.7
ndenv install v6.11.3
[/code]

インストールされているバージョンの確認

[code lang=text]
ndenv versions
[/code]

こちらもバージョンのリストが表示されます。現段階ではインストールされていますが、どれを使うかの設定がされていません。

使うバージョンの指定

[code lang=text]
ndenv global v6.11.3
[/code]

グローバルで使うバージョンを v6.11.3 で指定しました。

バージョンの確認

[code lang=text]
node -v
[/code]

Nodeのバージョンを確認して、指定した通りになっているかを確認します。

プロジェクトで利用するバージョンを指定する

自分のプロジェクトディレクトリに移動します。下記の移動先はご自身のプロジェクトディレクトリに合わせてください。

[code lang=text]
cd /project/sample/
[/code]

このプロジェクトで使うNodeがv4.4.7なので、下記コマンドを実行します

[code lang=text]
ndenv local v4.4.7
[/code]

このコマンドを実行すると、プロジェクトディレクトリ内に .node-version というファイルが作成されます。
このファイルが存在するディレクトリでは、Nodeのバージョンがこのファイルで指定されているバージョンに自動で変更されます。

ですので、これまでのようにプロジェクトに合わせて手動でNodeのバージョンを切り替えなくて済むようになりました。

SOUさん、ハムさんありがとうございました!

参考文献

Ad



Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です