僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

node開発環境をMac Linux環境にインストール

http://d.hatena.ne.jp/mollifier/20110221/p1
↑を参考にnodeをインストールしますた。

インストール準備

まずhomebrewをインストールしてない人は一応以下を参照のこと
http://kazuph.hateblo.jp/entry/20120502/1335947052

homebrewでwgetを入れます。まあ自分の場合は入っていたけど

$ brew install wget

nvm install

node自体のバージョン管理をするツールをまずいれる。
perlbrewとかrbenvとかだと思えばいいのかな?

$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh

そんだけ、らくちんだね。
※追記
macのzshだとスルーしたんですけどlinuxの方だとエラーが

$  source ~/.nvm/nvm.sh
nvm_ls:17: no matches found: vdefault*

このサイトのようにすることで回避できた。
わかりづらいけどnvm.shの53行目(当時)を以下のように変更した({PATTERN}のあとの*を\*に)。

VERSIONS=`(cd $NVM_DIR; \ls -d v${PATTERN}\* 2>/dev/null) | sort -t. -k 1.2,1n -k 2,2n 

※追記終わり

node install

http://nodejs.jp/をみたらv0.8.9が安定版とのことなのでそれをインストール

$ nvm install v0.10.5

なんだかWarningを吐きまくっているけど多分大丈夫・・・
20分くらい放置してたらインストールされた!

$ node -v
v0.10.5

zshrc への設定

ログアウトするとnvmの設定が消えてしまうらしい。ということで本当にログアウトしたらnodeって何?って怒られた。

ということで以下をzshrcに設定

ちゃんと他の環境でも使いまわすことを考えてくれていた助かった。

# nvm と指定されたバージョンの Node.js がインストール済みの場合だけ
# 設定を有効にする
if [[ -f ~/.nvm/nvm.sh ]]; then
    source ~/.nvm/nvm.sh
    wait
    which nvm -v >/dev/null 2>&1
    if [ $? -eq 0 ] ; then
        _nodejs_use_version="v0.10.5"
        if nvm ls | grep -F -e "${_nodejs_use_version}" >/dev/null 2>&1 ;then
            nvm use "${_nodejs_use_version}" >/dev/null
            export NODE_PATH=${NVM_PATH}_modules${NODE_PATH:+:}${NODE_PATH}
        fi
        unset _nodejs_use_version
    fi
fi

versionは適宜変えてください。

設定を反映

source ~/.zshrc

javascript 実行

$ echo 'console.log("hello world");' > test.js
$ node test.js                                
hello world

npmでモジュールをインストール

npmは最初から入ってるようです

# local install(カレントのnode_modulesにインストールされる)
npm install socket.io

# global install($HOME/.nvm/v0.*.*/lib/node_modulesにインストールされる)
npm install -g socket.io

とりあえずこんなところ。