[Node.js] Node.js: nodebrew で node.js をインストールする

フロントエンドの開発環境を整えていきます。

[markdown]

> * [node.js](http://nodejs.org/)
> * [Node.js 日本ユーザグループ](http://nodejs.jp/)

[node.js 公式](http://nodejs.org/)のインストーラは使わず、パッケージ管理ツールを利用してCliインストールしてみます。

バージョン管理ができそうなツールとして、少し調べたところではこんな選択肢があるようです。

* [Homebrew](http://brew.sh/index_ja.html)
* [nvm](https://github.com/creationix/nvm)
* [nave](https://github.com/isaacs/nave)
* [nodebrew](https://github.com/hokaccha/nodebrew)

Mac のパッケージ管理ツールの Homebrew が楽そうですが、nodebrew で入れるのが最近のトレンドでしょうか。これに習います。

> * [[Node.js]Node.jsをインストールする手順をメモ by Mac | Memorandum blog](http://to-developer.com/blog/?p=482)

node.js のバージョンアップが速いそうで、このためにバージョン管理をする必要があるようです。

> * [node.js の環境管理ツール nodebrew – Block Rockin’ Codes](http://d.hatena.ne.jp/Jxck/20120224/1330035058)

## nodebrew をインストールする

node.js をすでに利用しているならば、アンインストールが必要。

> * [node.jsのversionを管理するためにnodebrewを利用する – Qiita [キータ]](http://qiita.com/sinmetal/items/154e81823f386279b33c)
> * [node.jsの管理をhomebrewからnodebrewに変えて、npmをインストール – Qiita [キータ]](http://qiita.com/somtd@github/items/bd413e89d2db22ab795e)

nodebrew の公式を確認しながら進めます。

> * [hokaccha/nodebrew](https://github.com/hokaccha/nodebrew)

### ワンライナーでダウンロードする

“`
% curl -L git.io/nodebrew | perl – setup
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
100 18593 100 18593 0 0 11983 0 0:00:01 0:00:01 –:–:– 83376
fetching nodebrew…
install nodebrew in $HOME/.nodebrew
========================================
Add path:
export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
“`

### パスを追加する

指示通り、.zshrc などにパスを追加する。

“`
% subl ~/.zshrc
“`

動作確認。

“`
% source ~/.zshrc
% nodebrew help
nodebrew 0.6.4
Usage:
nodebrew help Show this message
nodebrew install Download and install a (compile from source)
nodebrew install-binary Download and install a (binary file)
nodebrew uninstall Uninstall a version
nodebrew use Use
nodebrew list List installed versions
nodebrew ls Alias for `list`
nodebrew ls-remote List remote versions
nodebrew ls-all List remote and installed versions
nodebrew alias Set alias to version
nodebrew unalias Remove alias
nodebrew clean | all Remove source file
nodebrew selfupdate Update nodebrew
nodebrew migrate-package Install global NPM packages contained in to current version
Example:
nodebrew install v0.6.0 Install a specific version number
nodebrew use v0.6.0 Use a specific version number
“`

## nodejs をダウンロードする

インストール可能なバージョンを確認するといっぱい出てきますね。

“`
% nodebrew ls-remote
“`

安定版をインストールします。

“`
% nodebrew install stable
fetch: http://nodejs.org/dist/v0.10.21/node-v0.10.21.tar.gz
:
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
:
“`

### Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.

はい。エラーが出ました!
アップデート後、Xcode のライセンス承認が済んでませんでした。
Xcode を立ち上げて承認しました。

> * [Agreeing to the Xcode license from the command line. – Tom Hennigan](http://blog.tomhennigan.co.uk/post/62238548037/agreeing-to-the-xcode-license-from-the-command-line)

再度試すと下記が表示されましたが、

“`
% nodebrew install stable
v0.10.21 is already installed
“`

インストール時にエラーがずらすらと出ていたので、アンインストールしてみます。

“`
% nodebrew uninstall v0.10.21
v0.10.21 uninstalled
% nodebrew ls
not installed
current: none
% nodebrew install stable
fetch: http://nodejs.org/dist/v0.10.21/node-v0.10.21.tar.gz
:
:
symlinking ../lib/node_modules/npm/bin/npm-cli.js -> /Users/****/.nodebrew/node/v0.10.21/bin/npm
updating shebang of /Users/****/.nodebrew/node/v0.10.21/bin/npm to /Users/****/.nodebrew/node/v0.10.21/bin/node
“`

結構時間がかかりますね。
大量のログが表示されてまったく追えませんが、無事に終わったのだと思います。
ローカルを確認して、今落としたバージョンを使うよう設定します。

“`
% nodebrew ls
v0.10.21
current: none
% nodebrew use v0.10.21
use v0.10.21
% node -v
v0.10.21
“`

### nodebrew の update

必要になったら下記を実行する。

“`
% nodebrew selfupdate
“`

## npm

npm は、node.js の package を管理するツール。
既に入っていました。

“`
% npm -v
1.3.11
“`

例えばこんな感じでインストールするようです。

“`
% npm install -g coffee-script
“`

npm については、別途確認していきます。

### 別バージョンで利用していたモジュールの移行

すでに node.js で利用していた npm を移行するコマンドがあるそうです。

“`
% nodebrew migrate-package v0.10.11
“`

> * [node.jsのversionを管理するためにnodebrewを利用する – Qiita [キータ]](http://qiita.com/sinmetal/items/154e81823f386279b33c)
>
> migrate-packageはnpm install -gでグローバル環境にインストールされているモジュールを、カレントバージョンにも適用してくれるものです。

上記ではv0.10.11でグローバルにインストールされているモジュールを、カレントのバージョンにもnpm install -gでインストールしてくれます。
機会が来たら実際に試してみたいですね。
[/markdown]