Lionにnode.jsの環境を作ってみる


前に1回つくったけど、なんか色々有耶無耶だったので、もっかい色々理解しながら作ってみる

目標


nvmを使って、node.js や npmの管理をできるようにする

nvmのインストール

nvmって何?


node.jsのバージョンマネージャ。ruby における rvm 的なもの

nvm - Node Version Manager - Simple bash script to manage multiple active node.js versions.
インストール


オフィシャルに書いてあるやり方でインストール

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1202  100  1202    0     0    418      0  0:00:02  0:00:02 --:--:--   571
Cloning into '/Users/kasei_san/.nvm'...
remote: Counting objects: 557, done.
remote: Compressing objects: 100% (328/328), done.
remote: Total 557 (delta 290), reused 470 (delta 218)
Receiving objects: 100% (557/557), 76.38 KiB | 77 KiB/s, done.
Resolving deltas: 100% (290/290), done.

=> Appending source string to /Users/kasei_san/.bash_profile
=> Close and reopen your terminal to start using NVM
.bash_profileに書いたよ! とか言われたので、設定を.zshrcに移す
# NVM
# 複数マシンでzshrcを共有しているので、特定マシンでだけ動作するようにした
if sw_vers | grep 10.7 ;then
  [[ -s /Users/kasei_san/.nvm/nvm.sh ]] && . /Users/kasei_san/.nvm/nvm.sh # This loads NVM
fi
シェルを1個起動してみる
$ nvm

Node Version Manager

Usage:
    nvm help                    Show this message
    nvm install [-s] <version>  Download and install a <version>
    nvm uninstall <version>     Uninstall a version
    nvm use <version>           Modify PATH to use <version>
    nvm run <version> [<args>]  Run <version> with <args> as arguments
    nvm ls                      List installed versions
    nvm ls <version>            List versions matching a given description
    nvm ls-remote               List remote versions available for install
    nvm deactivate              Undo effects of NVM on current shell
    nvm alias [<pattern>]       Show all aliases beginning with <pattern>
    nvm alias <name> <version>  Set an alias named <name> pointing to <version>
    nvm unalias <name>          Deletes the alias named <name>
    nvm copy-packages <version> Install global NPM packages contained in <version> to current version

Example:
    nvm install v0.4.12         Install a specific version number
    nvm use 0.2                 Use the latest available 0.2.x release
    nvm run 0.4.12 myApp.js     Run myApp.js using node v0.4.12
    nvm alias default 0.4       Auto use the latest installed v0.4.x version


インストールできた

とりあえずnodeの最新版を入れたい


いっぱいある

$ nvm ls-remote
v0.1.14 v0.1.27 v0.1.96 v0.2.4  v0.4.1  v0.5.1  v0.6.3  v0.6.16 v0.7.7  v0.8.7  v0.8.20
v0.1.15 v0.1.28 v0.1.97 v0.2.5  v0.4.2  v0.5.2  v0.6.4  v0.6.17 v0.7.8  v0.8.8  v0.9.0
v0.1.16 v0.1.29 v0.1.98 v0.2.6  v0.4.3  v0.5.3  v0.6.5  v0.6.18 v0.7.9  v0.8.9  v0.9.1
v0.1.17 v0.1.30 v0.1.99 v0.3.0  v0.4.4  v0.5.4  v0.6.6  v0.6.19 v0.7.10 v0.8.10 v0.9.2
v0.1.18 v0.1.31 v0.1.100        v0.3.1  v0.4.5  v0.5.5  v0.6.7  v0.6.20 v0.7.11 v0.8.11 v0.9.3
v0.1.19 v0.1.32 v0.1.101        v0.3.2  v0.4.6  v0.5.6  v0.6.8  v0.6.21 v0.7.12 v0.8.12 v0.9.4
v0.1.20 v0.1.33 v0.1.102        v0.3.3  v0.4.7  v0.5.7  v0.6.9  v0.7.0  v0.8.0  v0.8.13 v0.9.5
v0.1.21 v0.1.90 v0.1.103        v0.3.4  v0.4.8  v0.5.8  v0.6.10 v0.7.1  v0.8.1  v0.8.14 v0.9.6
v0.1.22 v0.1.91 v0.1.104        v0.3.5  v0.4.9  v0.5.9  v0.6.11 v0.7.2  v0.8.2  v0.8.15 v0.9.7
v0.1.23 v0.1.92 v0.2.0  v0.3.6  v0.4.10 v0.5.10 v0.6.12 v0.7.3  v0.8.3  v0.8.16 v0.9.8
v0.1.24 v0.1.93 v0.2.1  v0.3.7  v0.4.11 v0.6.0  v0.6.13 v0.7.4  v0.8.4  v0.8.17 v0.9.9
v0.1.25 v0.1.94 v0.2.2  v0.3.8  v0.4.12 v0.6.1  v0.6.14 v0.7.5  v0.8.5  v0.8.18
v0.1.26 v0.1.95 v0.2.3  v0.4.0  v0.5.0  v0.6.2  v0.6.15 v0.7.6  v0.8.6  v0.8.19
安定版はいくつなんだろ?


本家を当たってみる

Current Version: v0.8.20

無い!!

とりあえず、0.8.19入れてみる
nvm install v0.8.19
######################################################################## 100.0%
Now using node v0.8.19
インストール済一覧をチェック
$ nvm ls
current:        v0.8.19

$ node -v
v0.8.19

$ which node
/Users/kasei_san/.nvm/v0.8.19/bin/node


よさそう

デフォルトのnodeを決めたい


オフィシャルに、以下の設定をすれば良いと書いてある

To set a default Node version to be used in any new shell, use the alias 'default':
nvm alias default 0.6


やってみる

$ nvm alias default 0.8.19
default -> 0.8.19 (-> v0.8.19/)


別シェル開いて、バージョン確認

$ node -v
v0.8.19


よさそう

npmについて

npmって何?


node.jsのパッケージマネージャ。ruby における gem 的なもの

Node Packaged Modules
npmのインストール先


npmにはグローバルインストールとローカルインストールがある
グローバルインストールは環境全体に影響して
ローカルインストールはカレントディレクトリにのみ影響するらしい

インストール先の確認
$ npm root -g
/Users/kasei_san/.nvm/v0.8.19/lib/node_modules
$ npm root
/Users/kasei_san/work/node_modules


なるほど
基本的にはローカルインストールですすめることにする