Macにnodebrew(node.js, npm)をインストールする手順

  • 220
    いいね
  • 4
    コメント

ホームディレクトリにインストールするための手順。環境はMac OSX 10.8 Mountain Lion。以下、ターミナルでの操作。

修正(2014-06-07):PATHを通す箇所、.bashrc→.bash_profileに変更(Macでは.bash_profileから読み込ませる必要がある)。

すでにインストーラーで入れたnode.jsとnpmが入っている場合、一旦アンインストールする

インストーラーでインストールした node.js のアンインストール

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

npm(ホームディレクトリにある)のアンインストール
sudo rm -rf ~/.npm

nodebrew のインストールと設定

インストール。ホームディレクトリで以下コマンド
curl https://raw.githubusercontent.com/hokaccha/nodebrew/master/nodebrew | perl - setup
ホームディレクトリにインストールされる(.nodebrewディレクトリ)

インストールできたか確認(※helpにハイフン不要)
nodebrew help

ヘルプが表示されない場合はPATHを確認
echo $PATH

"ホームディレクトリ/.nodebrew/current/bin"へのPATHが通っていなければ、PATHを通す。viでホームディレクトリ/.bash_profile を編集。無ければ作成
vi ホームディレクトリ/.bash_profile

.bash_profileに追記
vi操作:iで編集モード、escキーで戻り、:wqで上書き保存
export PATH=$HOME/.nodebrew/current/bin:$PATH
ターミナル再起動する(or source ~/.bash_profile
上記コマンドでPATHを確認。/Users/taku_n/.nodebrew/current/bin が追加されていればO.K.

特定バージョンを使いたいなら.bash_profile に以下を追記
nodebrew use v0.11

nodebrew自身を最新版にアップデート
nodebrew selfupdate

node.js,npmのインストール、バージョン切替え

※各バージョン、600MB以上あるので注意

node.js 最新版のインストール。結構時間かかる

上のnodebrewを最新版にアップデートの後にした方がいい
nodebrew install latest

node.jsの特定バージョンのインストール
nodebrew install v0.11.13

node.jsのバージョンを確認
node -v

npmのバージョンを確認
npm -v

npm自身を最新版にアップデート
npm install -g npm

これで、以下のようなコマンドでnode.jsのバージョンが簡単に切替えることができる。
(= ~/.nodebrew/current のシンボリックリンクの切替え)
nodebrew use latest 最新版
nodebrew use stable 安定版
nodebrew use v0.11.13 バージョン指定

一時的に現在のバージョンと異なるバージョンで実行
nodebrew exec v0.8.0 -- node app.js

インストール済のnode.jsのバージョンを確認
nodebrew ls

npmでパッケージをインストール
インストール先は「カレントディレクトリ(通常はプロジェクトルート)」または「グローバル」

そのプロジェクトだけで使うもの、配布時に含めたいものはプロジェクトルート(直下のnode_modulesディレクトリ)にインストール
ターミナルでコマンド操作するもの、使いまわしたいものはグローバル(nodebrewでnode入れてる場合は /Users/ユーザー名/.nodebrew/node/v5.6.0/lib/node_modules/ ←currentショットカット有)にインストール。

-gオプションを付けるとグローバルにインストールされる。

(スタート時のみ) npm init package.json(設定ファイル) を生成 ※グローバルの場合はpackage.jsonは関係ない

npm install bower でカレントディレクトリにインストール
npm install bower -g でグローバルインストール

参考(未整理):npmの使い方の勉強メモ1 - msakamoto-sfのはてなブログ

npmでインストール済のパッケージを確認
npm ls ユーザー
npm -g ls グローバル
npm ls --depth=0 最上階のもののみ表示

表示を階層化する archy プラグインを入れると見やすくなる
npm install -g archy

※注意※
上記 nodebrew use でnode.jsのバージョンを切り替えると、切替え前にnpmでインストールしたパッケージモジュールが使えなくなる(バージョンごとの管理なので)。nodebrew migrate-package v0.10.11(移行前のバージョン) で指定バージョンのグローバルパッケージを現在のバージョンにまるっとインストールできる

node.jsの特定バージョンのアンインストール

nodebrew uninstall v7.9.0

さらに

nodebrew clean v7.9.0

削除後残ってるゴミファイルがないかどうかの確認は
~/.nodebrew/src/~/.nodebrew/node を確認

nodebrew のアンインストール・入れ直し

nodebrew コマンド としても反応が無くなり(エラーは出ない)ハマった時があった。
一旦アンインストールして入れ直そうと .nodebrew ディレクトリを削除し、上記インストールのワンライナーを実行してもインストールできなかった。
git.io/nodebrewをホームディレクトリにダウンロード、perl nodebrew setup で入れ直すことができた。完了後、ダウンロードした git.io/nodebrew は削除。

参考サイト