node.jsのversionを管理するためにnodebrewを利用する

このTopicはWeb ApplicationのfrontendのProjectを管理するTopicの1つ目です。

1. [node.jsのversionを管理するためにnodebrewを利用する](http://qiita.com/sinmetal/items/154e81823f386279b33c "node.jsのversionを管理するためにnodebrewを利用する")
1. [npmでnode.jsのpackageを管理する](http://qiita.com/sinmetal/items/395edf1d195382cfd8bc "npmでnode.jsのpackageを管理する")
1. [grunt.jsを使って、frontendのビルドを行う](http://qiita.com/sinmetal/items/ab34c02fe26e994876a6 "grunt.jsを使って、frontendのビルドを行う")

##nodebrewとは？
[nodebrew](https://github.com/hokaccha/nodebrew "nodebrew")は、node.jsを自分のマシン内でversion管理するためのtoolです。
最近は、Front側の開発環境として、node.jsを使うのが普通になってきました。
npm使うだけでも、node.js必要なのでWebの開発者のマシンにはほぼnode.jsが入っている感じです。

ただ、Projectごとにnode.jsのversionが違ったりすると、いちいち入れなおすのは面倒です。
そこを解決してくれるのが、nodebrewです！


##nodebrewインストール前の確認
まず、nodebrewを入れる前に、既にnode.jsがインストールされている場合削除します。
node.jsが入っているかどうかはnodeが反応するかどうかを見れば良いですね。

```bash:command
$ node
```

これで反応が無ければOKです。
反応があった場合は、node.jsがinstallされているので、削除しましょう。
ただ、すんなり削除できるものは用意されていません。
Githubにnode.jsをuninstallするためのshを作ってくれている人がいますので、使わせてもらいましょう。
後、そのshが削除してくれないdirも削除します。

```bash:command
$ curl -o uninstall-node.sh https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh
$ chmod u+x uninstall-node.sh 
$ ./uninstall-node.sh 
$ rm uninstall-node.sh
$ sudo rm -rf /usr/local/include/node
$ sudo rm -rf /usr/local/lib/dtrace
$ rm -rf ~/.node-gyp
$ rm -rf ~/.npm
$ rm -rf ~/.sourcemint 
```

これでnode.jsが削除されました。

##nodebrewをインストールする
インストールするのは、簡単です。
ほとんど、公式の[INSTALL](https://github.com/hokaccha/nodebrew "INSTALL")の通りです。

```bash:command
$ curl -L git.io/nodebrew | perl - setup
...
========================================
Add path:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
```

nodebrewは~/.nodebrewにインストールされます。
そこにpathを通してねと出てくるので、追加しましょう。

僕は~/.bash_profileを使っているので、そこに追加しました。
後は.bash_profileを読みなおして、nodebrew commandが動けばインストールは完了です。

```bash:command
$ source ~/.bash_profile
$ nodebrew help
```


##node.jsをインストール
nodebrewがインストールできたので、早速node.jsをインストールしましょう。
まずはインストールできるnode.jsのversionを確認します。

```bash:command
$ nodebrew ls-remote
```

ずら〜っとversionが出てきます。
現時点での[Stable](http://blog.nodejs.org/ "Stable")になっている最新のversionはv0.10.12なので、それをインストールしましょう

```bash:command
$ nodebrew install-binary v0.10.12
```

インストールはすぐに終わります。
インストールされているversionの一覧もcommandで確認できます。

```bash:command
$ nodebrew ls

nodebrew ls
v0.10.12

current: none
```

currentに出てくるのが、現在利用中のversionです。
まだ、v0.10.12をインストールしただけで利用するように設定してないので、noneになっています。
後は、使いたいバージョンをcurrentにすれば、完了です。

```bash:command
$ nodebrew use v0.10.12
$ node -v
v0.10.12
```

簡単、便利ですね！

##migrate-packageでグローバルなモジュールを移行する

```bash:command
$ nodebrew migrate-package v0.10.11
```

migrate-packageはnpm install -gでグローバル環境にインストールされているモジュールを、カレントバージョンにも適用してくれるものです。
上記ではv0.10.11でグローバルにインストールされているモジュールを、カレントのバージョンにもnpm install -gでインストールしてくれます。

これで、node.js本体以外も簡単に移行出来ますね！

##参考にしたサイト
[Node.jsをアンインストールする](http://sushichop.blogspot.jp/2013/04/nodejs.html "Node.jsをアンインストールする")
[node.js 入れるなら nodebrew が超簡単](http://tacamy.hatenablog.com/entry/2013/02/10/141434 "node.js 入れるなら nodebrew が超簡単")
[nodebrewでバイナリからインストールできるようにした](http://webtech-walker.com/archive/2012/12/nodebrew_update.html "nodebrewでバイナリからインストールできるようにした")