OS X El Capitanでnvmを入れてNode.jsをインストールした

メモ。

Homebrewとかを使わずにやってみる。

まずnvmをインストール
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ cd ~/.nvm
$ git checkout `git describe --abbrev=0 --tags`
ターミナルを開いたらすぐnvmが使えるようにする

最初は .bash_profile も .bashrc もないので作る。すでにある人は追記ね。

$ vi .bash_profile
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
$ vi .bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

これで、今後起動するシェルからnvmが使えるようになる。

新しいターミナルを開いて、

$ nvm --version
0.31.0

ここまでで、nvmが入って、そして動くようになった。

試しにNode.jsを入れてみる
$ nvm install v5.7.1

インストールが終わったら

$ node -v
v5.7.1
$ npm -v
3.6.0
$ which node
/Users/nacookan/.nvm/versions/node/v5.7.1/bin/node

OK。

そして違うバージョンも入れてみる。

$ nvm install v4.3.2

インストールが終わったら

$ node -v
v4.3.2
$ npm -v
2.14.12
$ which node
/Users/nacookan/.nvm/versions/node/v4.3.2/bin/node

いいね。

では、複数入ったNode.jsのバージョンを切り替えてみる。

$ nvm use 5
Now using node v5.7.1 (npm v3.6.0)
$ node -v
v5.7.1
$ npm -v
3.6.0
$ nvm use 4
Now using node v4.3.2 (npm v2.14.12)
$ node -v
v4.3.2
$ npm -v
2.14.12

こんな感じで、普通に使えるようになった。

アンインストール

上記でwhichしたときの感じでは、複数バージョンのnodeも全部 ~/.nvm に入ってるっぽいので、

$ rm -rf ~/.nvm

これでnodeごとnvmを消せる。あとは .bashrc の中身も消しておけばいいと思う。.bash_profile に書いた分は一般的な記述だから消さなくてもいいかなーとは思うけど気になるならそっちも消していい。

#! はどうかくの?

これは普通に疑問なんだけど、nvmを使っていて、JavaScriptで実行可能なスクリプトを書きたいときって、shebang (先頭の #! のところね)はどう書けばいいの?

そりゃあ which して出てきたパスを書けば動くだろうけど、そんなんでいいのかなあって感じがある。

みんなどうやってるんだろ。