MacにnodeとnvmとSublime Text 2でStylusとCoffeeScriptを使えるようにしたときログ

作業ログ

手元のMacにnode入れていなかったので、nvmでポイポイ入れながら、Sublime Text 2でCoffeeScriptとStylusを使えるようにしたので、念のため作業ログ。

これを見返す必要がある前にMac買い換え or リストアしてそうだ…。

nvmをいれる

まずはnvm。naveよりnvmのほうが結局メジャーになってるのかしら?

git clone git://github.com/creationix/nvm.git ~/.nvm

.zshrcに追記

シェル起動時にnvmを通す。

source ~/.nvm/nvm.sh

.zshrcをnvm非インストール環境と共有する際は、Node.jsとnvmを初めてインストールするときのハマりポイントと対策 - ess supが参考になるはず。

nvmでinstall

node.jsをインストール。とりあえず今の時点の最新。defaultにも設定しておきます。

nvm install v0.6.19
nvm use v0.6.19
nvm alias default v0.6.19

Stylus

Stylusをインストール。

npm install stylus

Coffee Script

CoffeeScriptをインストール。

npm install coffee-script

さらに.zshrcに追記

node_modulesにパスを通す。

export PATH=$PATH:$HOME/node_modules/.bin

Sublime Text 2にPackageを入れる

Package Controlを利用してすぽすぽ入れただけ。

CoffeeScriptのビルドでパスが通っていない

Cmd+Bでビルドできるはずなのだが、パスが通ってないと怒られる。Oh...

[Errno 2] No such file or directory
[Finished]

~/Libary/Application Support/Sublime Text 2/Packages/CoffeeScript/Commands/CoffeeScript.sublime-buildを編集してビルド設定を確認してPATHを通す。

{
    "path": "$HOME/.nvm/v0.6.19/bin:$HOME/node_modules/.bin/:/usr/local/bin:$PATH",
    "cmd": ["coffee","-wc","./"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.coffee"
}

むりくりだが、zshrcに書いたようなnode_modulesへのパスと、nvmで抱え込んでるnodeにパスを通したらとりあえずOK。でもこれnodeのバージョン変えたらダメだじゃないのって。

ついでにcmdのオプションとかパス指定変えてある。ざっくり全部やれ系。

source ~/.nvm/nvm.shを噛ませられればよかったのだけど、とりあえずnvm.shを編集してしまう。

## ~/.nvm/nvm.sh 最終行
- nvm ls default >/dev/null 2>&1 && nvm use default >/dev/null
+ nvm ls default >/dev/null 2>&1 && nvm use default >/dev/null 2>&1 && ln -s $NVM_BIN ~/nvm_bin_alias

~/nvm_bin_alias

homeディレクトリにnvm_bin_aliasを貼っておいて、このaliasに対するパスを先ほどのsublime-buildに書き込む。

...
"path": "$HOME/nvm_bin_alias:$HOME/node_modules/.bin/:/usr/local/bin:$PATH",
...

いい加減さがレベルアップしてる気がする…。まあ、zsh立ち上がるたびにnvm_bin_aliasが更新されるノリなら何とかなるでしょう。

aliasてかsymでしたね..

参考