mfks17's blog(Life is Good !!)

趣味や思った事を書いていくと思います

Ubuntu12.04LTSにNode環境を構築する

久々の更新になってしまいました。
今回は、Nodeの勉強がてら開発環境を構築していきます。

Nodeとは


Ryan Dahlという開発者が作った、サーバサイドのプラットフォーム。
プログラミング言語でも、ライブラリでも、フレームワークでもない。
現在のstatableはv0.10.0
http://nodejs.org

経緯


アイディアは元からあったのですが、一人だと怠けてしまいますよね。なので、出来る先輩と、出来る後輩が興味があるとわかったので巻き込んでみました。
サーバの手配は言い出しっぺの自分がやって、ユーザの登録とか、GitLabのリポジトリの登録とかしました。
折角なので、継続的デリバリーを盛り込んで、Jenkins,TDD,BDD,を組み合わせみたいと思ってます。
って、まずはJavaScriptから勉強しないとなぁ。
その前に、nodeのバージョン管理マネージャであるnodebrewをインストールしたいと思います。

$ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup
プログラム 'curl' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install curl
$ sudo apt-get install curl
[sudo] password for typosterr: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-3.2.0-36-generic-pae linux-headers-3.2.0-30
  linux-headers-3.2.0-30-generic-pae linux-headers-3.2.0-36
これらを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  curl
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
137 kB のアーカイブを取得する必要があります。
この操作後に追加で 346 kB のディスク容量が消費されます。
警告: 以下のパッケージは認証されていません!
  curl
検証なしにこれらのパッケージをインストールしますか [y/N]? y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ precise/main curl i386 7.22.0-3ubuntu4 [137 kB]
137 kB を 0秒 で取得しました (425 kB/s)
以前に未選択のパッケージ curl を選択しています。
(データベースを読み込んでいます ... 現在 206702 個のファイルとディレクトリがインストールされています。)
(.../curl_7.22.0-3ubuntu4_i386.deb から) curl を展開しています...
man-db のトリガを処理しています ...
curl (7.22.0-3ubuntu4) を設定しています ...
typosterr@Ptolemaios:~$ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 18289  100 18289    0     0  21188      0 --:--:-- --:--:-- --:--:-- 26015
fetching nodebrew...
install nodebrew in $HOME/.nodebrew

========================================
Add path:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================
$

あと、お好きなリソースファイルにパスを通すだけです。

$ vim .bashrc 
export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source .bashrc


簡単ですね。
では、実際に使ってみましょう。

$ nodebrew ls-remote # インストールできるバージョンを表示
v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    

v0.1.0    v0.1.1    v0.1.2    v0.1.3    v0.1.4    v0.1.5    v0.1.6    v0.1.7
v0.1.8    v0.1.9    v0.1.10   v0.1.11   v0.1.12   v0.1.13   v0.1.14   v0.1.15
v0.1.16   v0.1.17   v0.1.18   v0.1.19   v0.1.20   v0.1.21   v0.1.22   v0.1.23
v0.1.24   v0.1.25   v0.1.26   v0.1.27   v0.1.28   v0.1.29   v0.1.30   v0.1.31
v0.1.32   v0.1.33   v0.1.90   v0.1.91   v0.1.92   v0.1.93   v0.1.94   v0.1.95
v0.1.96   v0.1.97   v0.1.98   v0.1.99   v0.1.100  v0.1.101  v0.1.102  v0.1.103
v0.1.104  

v0.2.0    v0.2.1    v0.2.2    v0.2.3    v0.2.4    v0.2.5    v0.2.6    

v0.3.0    v0.3.1    v0.3.2    v0.3.3    v0.3.4    v0.3.5    v0.3.6    v0.3.7
v0.3.8    

v0.4.0    v0.4.1    v0.4.2    v0.4.3    v0.4.4    v0.4.5    v0.4.6    v0.4.7
v0.4.8    v0.4.9    v0.4.10   v0.4.11   v0.4.12   

v0.5.0    v0.5.1    v0.5.2    v0.5.3    v0.5.4    v0.5.5    v0.5.6    v0.5.7
v0.5.8    v0.5.9    v0.5.10   

v0.6.0    v0.6.1    v0.6.2    v0.6.3    v0.6.4    v0.6.5    v0.6.6    v0.6.7
v0.6.8    v0.6.9    v0.6.10   v0.6.11   v0.6.12   v0.6.13   v0.6.14   v0.6.15
v0.6.16   v0.6.17   v0.6.18   v0.6.19   v0.6.20   v0.6.21   

v0.7.0    v0.7.1    v0.7.2    v0.7.3    v0.7.4    v0.7.5    v0.7.6    v0.7.7
v0.7.8    v0.7.9    v0.7.10   v0.7.11   v0.7.12   

v0.8.0    v0.8.1    v0.8.2    v0.8.3    v0.8.4    v0.8.5    v0.8.6    v0.8.7
v0.8.8    v0.8.9    v0.8.10   v0.8.11   v0.8.12   v0.8.13   v0.8.14   v0.8.15
v0.8.16   v0.8.17   v0.8.18   v0.8.19   v0.8.20   v0.8.21   v0.8.22   

v0.9.0    v0.9.1    v0.9.2    v0.9.3    v0.9.4    v0.9.5    v0.9.6    v0.9.7
v0.9.8    v0.9.9    v0.9.10   v0.9.11   v0.9.12   

v0.10.0  

コンパイラが無いのをおもいだしたので、、

$ sudo apt-get install build-essential
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-3.2.0-36-generic-pae linux-headers-3.2.0-30 linux-headers-3.2.0-30-generic-pae linux-headers-3.2.0-36
これらを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
  dpkg-dev fakeroot g++ g++-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libstdc++6-4.6-dev libtimedate-perl
提案パッケージ:
  debian-keyring g++-multilib g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg libstdc++6-4.6-doc
以下のパッケージが新たにインストールされます:
  build-essential dpkg-dev fakeroot g++ g++-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libstdc++6-4.6-dev libtimedate-perl
アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 0 個。
9,250 kB のアーカイブを取得する必要があります。
この操作後に追加で 27.4 MB のディスク容量が消費されます。
続行しますか [Y/n]? y
警告: 以下のパッケージは認証されていません!
  libstdc++6-4.6-dev g++-4.6 g++ libtimedate-perl libdpkg-perl dpkg-dev build-essential fakeroot libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
検証なしにこれらのパッケージをインストールしますか [y/N]? y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ precise/main libstdc++6-4.6-dev i386 4.6.3-1ubuntu5 [1,643 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu/ precise/main g++-4.6 i386 4.6.3-1ubuntu5 [6,745 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu/ precise/main g++ i386 4:4.6.3-1ubuntu5 [1,444 B]
取得:4 http://jp.archive.ubuntu.com/ubuntu/ precise/main libtimedate-perl all 1.2000-1 [41.6 kB]
取得:5 http://jp.archive.ubuntu.com/ubuntu/ precise-updates/main libdpkg-perl all 1.16.1.2ubuntu7.1 [180 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu/ precise-updates/main dpkg-dev all 1.16.1.2ubuntu7.1 [469 kB]
取得:7 http://jp.archive.ubuntu.com/ubuntu/ precise-updates/main build-essential i386 11.5ubuntu2.1 [5,796 B]
取得:8 http://jp.archive.ubuntu.com/ubuntu/ precise/main fakeroot i386 1.18.2-1 [87.9 kB]
取得:9 http://jp.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-perl all 1.19.02-2 [50.7 kB]
取得:10 http://jp.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-diff-xs-perl i386 0.04-2build2 [12.9 kB]
取得:11 http://jp.archive.ubuntu.com/ubuntu/ precise/main libalgorithm-merge-perl all 0.08-2 [12.7 kB]
9,250 kB を 5秒 で取得しました (1,699 kB/s)     
以前に未選択のパッケージ libstdc++6-4.6-dev を選択しています。
(データベースを読み込んでいます ... 現在 206718 個のファイルとディレクトリがインストールされています。)
(.../libstdc++6-4.6-dev_4.6.3-1ubuntu5_i386.deb から) libstdc++6-4.6-dev を展開しています...
以前に未選択のパッケージ g++-4.6 を選択しています。
(.../g++-4.6_4.6.3-1ubuntu5_i386.deb から) g++-4.6 を展開しています...
以前に未選択のパッケージ g++ を選択しています。
(.../g++_4%3a4.6.3-1ubuntu5_i386.deb から) g++ を展開しています...
以前に未選択のパッケージ libtimedate-perl を選択しています。
(.../libtimedate-perl_1.2000-1_all.deb から) libtimedate-perl を展開しています...
以前に未選択のパッケージ libdpkg-perl を選択しています。
(.../libdpkg-perl_1.16.1.2ubuntu7.1_all.deb から) libdpkg-perl を展開しています...
以前に未選択のパッケージ dpkg-dev を選択しています。
(.../dpkg-dev_1.16.1.2ubuntu7.1_all.deb から) dpkg-dev を展開しています...
以前に未選択のパッケージ build-essential を選択しています。
(.../build-essential_11.5ubuntu2.1_i386.deb から) build-essential を展開しています...
以前に未選択のパッケージ fakeroot を選択しています。
(.../fakeroot_1.18.2-1_i386.deb から) fakeroot を展開しています...
以前に未選択のパッケージ libalgorithm-diff-perl を選択しています。
(.../libalgorithm-diff-perl_1.19.02-2_all.deb から) libalgorithm-diff-perl を展開しています...
以前に未選択のパッケージ libalgorithm-diff-xs-perl を選択しています。
(.../libalgorithm-diff-xs-perl_0.04-2build2_i386.deb から) libalgorithm-diff-xs-perl を展開しています...
以前に未選択のパッケージ libalgorithm-merge-perl を選択しています。
(.../libalgorithm-merge-perl_0.08-2_all.deb から) libalgorithm-merge-perl を展開しています...
man-db のトリガを処理しています ...
libtimedate-perl (1.2000-1) を設定しています ...
libdpkg-perl (1.16.1.2ubuntu7.1) を設定しています ...
dpkg-dev (1.16.1.2ubuntu7.1) を設定しています ...
fakeroot (1.18.2-1) を設定しています ...
update-alternatives: /usr/bin/fakeroot (fakeroot) を提供するために 自動モード で /usr/bin/fakeroot-sysv を使います。
libalgorithm-diff-perl (1.19.02-2) を設定しています ...
libalgorithm-diff-xs-perl (0.04-2build2) を設定しています ...
libalgorithm-merge-perl (0.08-2) を設定しています ...
libstdc++6-4.6-dev (4.6.3-1ubuntu5) を設定しています ...
g++-4.6 (4.6.3-1ubuntu5) を設定しています ...
g++ (4:4.6.3-1ubuntu5) を設定しています ...
update-alternatives: /usr/bin/c++ (c++) を提供するために 自動モード で /usr/bin/g++ を使います。
build-essential (11.5ubuntu2.1) を設定しています ...

いよいよ、インストールしていきます。

$ nodebrew install 0.8.22 0.10.0 #引数は1つまでらしいです。なので、再度0.10.0をインストール

$ nodebrew list #nodebrewでインストール済みのnodeのバージョンを表示
v0.8.22
v0.10.0

current: none
$ nodebrew use 0.8.22 #採用するnodeのバージョンを指定
use v0.8.22
$ npm --version #npmはnodeのパッケージ管理マネージャ
1.2.14

簡単ですね。

2013/03/16 追記


TODO
これら3つのvimのプラグインの導入をする。
最後までお読みいただきありがとうございました。