UbuntuでNode.js+Cloud9+Express開発環境を構築

cloud91

注意!!
この記事はもう古いです。新しい記事を書きましたので、こちらを参照してください。

2014年5月版 Ubuntuへのnode.js+expressインストール

---------------------------------------------------

メモする。

必要なパッケージのダウンロード&インストール

$ sudo apt-get install libssl0.9.8 npm nodejs mercurial libxml2-dev

libssl0.9.8はCloud9実行時にライブラリがないと怒られるためインストール。Mercurialは無いとCloud9実行後、何かのアイコンをクリックした瞬間に死ぬ。libxml2-devはインストールしろとCloud9のREADMEに書いてあった。

このままだと、nodeのバージョンが古いのでCloud9が動かない。最新版をダウンロードする。以下を参照した。

nvmを使ってUbuntu 12.04に最新のNode.jsとnpmをインストール

$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ . ~/.nvm/nvm.sh
$ nvm install  v0.10.19

また、~/.bashrcに以下を追加。

. ~/.nvm/nvm.sh
nvm use v0.10.19

次にnpm(nodeのパッケージマネージャ)を使ってexpressをダウンロード。

$ npm install express
$ cd express
& npm install

npm installとすると、package.jsonファイルを読み取って依存関係にあるパッケージを自動的にインストールしてくれるらしい。便利だ。

npmはプロクシ経由で接続している場合はエラーが出る。npmでプロクシを使うよう設定。

$ npm config set proxy http://proxy.xxx.co.jp:8080

registryが設定されていないと怒られたら以下のように設定する。

$ npm config set registry http://registry.npmjs.org/

次にCloud9をインストールする。npmからもインストールできるが、バージョンが古いのでgitからインストールする。

$ git clone https://github.com/ajaxorg/cloud9.git cloud9
$ cd cloud9
$ npm install

ここでもプロクシ経由だとエラーが起きる場合がある。gitプロトコルを認めていないプロクシだとエラーになる。普通はブロックしているだろうと思う。プロクシサーバとか、Webフィルタリングとか、マジでソフト屋にとっては邪魔だからやめて欲しいんだけどな。

gitでgitプロトコルを強制的にhttpに変換する場合は以下のようにするらしい。

プロキシ環境下でgitを使う

$ git config --global http.proxy http://proxy.example.com:8080
$ git config --global https.proxy http://proxy.example.com:8080
$ git config --global url."https://".insteadOf git://

expressのプロジェクトを作成

$ ./node_modules/express/bin/express app1
$ cd app1
$ npm install

Cloud9起動

ワークスペースを指定してcloud9起動。ここで注意していただきたいのが、-w以降に相対パスを書くとcloud9のディレクトリからの相対パスとみなされるようだ。従って、下記のようにチルダを使ってユーザーのホームから指定する。

$ ./cloud9/bin/cloud9.sh -w ~/node-test/app1/

ブラウザからhttp://localhost:3131にアクセスすると以下のようなIDEが立ち上がる。すごい!

cloud91

app.jsをクリックしてstartすると、以下のように何かが立ち上がる。

c9kidou

running at...の後のhttp://...のアドレスをクリックすると、なんと、同一画面上に表示される。すごいすごい!…でもエラーが起きてる。doctype 5はもう古いからhtmlを使えって書いてる。読みにくいけど。

c9error

なんのことかわからんが、layout.jadeを開いてそのように直したら動いた。

c9corrected

インストールやプロクシの設定で躓いて結構時間がとられたが、理解してしまえばあとは簡単。こんなに便利なIDEがブラウザで動くなんて、すげー時代になったもんだなあ。