Node.js をバージョン管理できる体制でインストールする
Node.js 単体のインストールは以下の記事でも紹介したとおり、公式サイトからインストーラーを落として実行すれば良い。
しかし、Node.js 自体のバージョン管理をしたいので、Node.js のバージョン管理ツール経由で Node.js をインストールする。Windows と Mac OSX で使うツールが違うので別々にご紹介。
Windows での Node.js 環境の準備
Nodist というツールを使う。以下のページからインストーラーがダウンロードできるのでそれをインストールする。なお、上の公式インストーラから入れた Node.js は予めアンインストールしておく。
- GitHub - nullivex/nodist: Natural node.js and npm version manager for windows.
- Nodist v0.7.2 インストーラー直リンク
インストールしたら次のコマンドで安定版を入れておく。
Rem Nodist のバージョン確認
> nodist -v
0.7.2
Rem 安定版 (Stable) のインストール : この時は Node.js v6.2.0 だった
> nodist stable
nodev6.2.0
Rem Node.js として実行してみる
> node -v
v6.2.0
Rem npm もできる
> npm -v
3.5.2
コレで OK。
インストーラーが入れ込むディレクトリは
c:¥Program Files (x86)¥nodist
となっていて-g
オプションでインストールしたものはc:¥Program Files (x86)¥nodist¥bin¥node_modules
に登録されます、参考までに。 これは$ npm -g root
で確認できます。
Mac OSX での Node.js 環境の準備
Mac OSX では nodebrew を使う。nvm とかいうのもあったらしいけど、nodebrew は日本人が作ってるので分かりやすいかも、と思いこちらを選択。まだ MacBookPro には Node.js を入れてないので、クリーンインストールな感じで。
以下のサイトに記載のコマンドでインストール。
$ curl -L git.io/nodebrew | perl - setup
調べたところ、何やら .bashrc
というファイルと .bash_profile
というファイルに書くことがあるっぽいので書く。まだ作ったことないので新規作成から。
# ルートに移動
$ cd ~
# ルートで .bashrc と .bash_profile というファイルを作る
touch .bashrc
touch .bash_profile
生成した .bashrc を適当なテキストエディタで開き、以下の1行を書く。これが nodebrew の PATH を通している。
export PATH=$HOME/.nodebrew/current/bin:$PATH
.bash_profile
には以下のコードを書く。.bash_profile
から .bashrc
の内容を読み込んでいる。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
ターミナルで .bashrc を再読み込みする。
$ source ~/.bashrc
これで nodebrew が使えるようになる。
- 参考 : ターミナルの設定ファイルを作る .bash_profile – joppot
- 参考 : Mac(OSX)で.bashrcを編集する · GitHub
- 参考 : macに.bashrcを作成したときのメモ - ふってもハレても
それから Node.js の安定版をインストールする。
# nodebrew のバージョン確認
$ nodebrew -v
nodebrew 0.9.6
# Node.js の安定版 (Stable) をインストール
$ nodebrew install stable
# インストールされているものを確認
$ nodebrew ls
v6.2.0
# 使う Node.js を指定する
$ nodebrew use v6.2.0
# Node.js として使う
$ node -v
v6.2.0
# npm もイケる
$ npm -v
3.8.9
nodebrew ls
などのコマンドで「Use of uninitialized value $a1 in numeric comparison (<=>) at /Users/(ユーザ)/.nodebrew/current/bin/nodebrew line 675.
」といったメッセージが出る場合は、ターミナルの設定で .DS_Store
を表示する設定になっていることが原因っぽい。
本来非表示のファイルは非表示にしておけばもう出てこない。
- 参考 : http://js.hatenadiary.com/entry/2015/11/22/063044
- 参考 : nvmからnodebrewに乗り換えました - rochefort's blog
以上。
これで Node.js のバージョン管理ができるようになった。バージョンアップが激しいけど付いていきたくないと思ったなら付いていかなきゃいいんだ、と考えてやっていくことにする。