注意!!
この記事はもう古いです。新しい記事を書きましたので、こちらを参照してください。
2014年5月版 Ubuntuへのnode.js+expressインストール
---------------------------------------------------
メモする。
必要なパッケージのダウンロード&インストール
[bash]
$ sudo apt-get install libssl0.9.8 npm nodejs mercurial libxml2-dev
[/bash]
libssl0.9.8はCloud9実行時にライブラリがないと怒られるためインストール。Mercurialは無いとCloud9実行後、何かのアイコンをクリックした瞬間に死ぬ。libxml2-devはインストールしろとCloud9のREADMEに書いてあった。
このままだと、nodeのバージョンが古いのでCloud9が動かない。最新版をダウンロードする。以下を参照した。
nvmを使ってUbuntu 12.04に最新のNode.jsとnpmをインストール
[bash]
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ . ~/.nvm/nvm.sh
$ nvm install v0.10.19
[/bash]
また、~/.bashrcに以下を追加。
[bash]
. ~/.nvm/nvm.sh
nvm use v0.10.19
[/bash]
次にnpm(nodeのパッケージマネージャ)を使ってexpressをダウンロード。
[bash]
$ npm install express
$ cd express
& npm install
[/bash]
npm installとすると、package.jsonファイルを読み取って依存関係にあるパッケージを自動的にインストールしてくれるらしい。便利だ。
npmはプロクシ経由で接続している場合はエラーが出る。npmでプロクシを使うよう設定。
[bash]
$ npm config set proxy http://proxy.xxx.co.jp:8080
[/bash]
registryが設定されていないと怒られたら以下のように設定する。
[bash]
$ npm config set registry http://registry.npmjs.org/
[/bash]
次にCloud9をインストールする。npmからもインストールできるが、バージョンが古いのでgitからインストールする。
[bash]
$ git clone https://github.com/ajaxorg/cloud9.git cloud9
$ cd cloud9
$ npm install
[/bash]
ここでもプロクシ経由だとエラーが起きる場合がある。gitプロトコルを認めていないプロクシだとエラーになる。普通はブロックしているだろうと思う。プロクシサーバとか、Webフィルタリングとか、マジでソフト屋にとっては邪魔だからやめて欲しいんだけどな。
gitでgitプロトコルを強制的にhttpに変換する場合は以下のようにするらしい。
[bash]
$ 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://
[/bash]
expressのプロジェクトを作成
[bash]
$ ./node_modules/express/bin/express app1
$ cd app1
$ npm install
[/bash]
Cloud9起動
ワークスペースを指定してcloud9起動。ここで注意していただきたいのが、-w以降に相対パスを書くとcloud9のディレクトリからの相対パスとみなされるようだ。従って、下記のようにチルダを使ってユーザーのホームから指定する。
[bash]
$ ./cloud9/bin/cloud9.sh -w ~/node-test/app1/
[/bash]
ブラウザからhttp://localhost:3131にアクセスすると以下のようなIDEが立ち上がる。すごい!
app.jsをクリックしてstartすると、以下のように何かが立ち上がる。
running at...の後のhttp://...のアドレスをクリックすると、なんと、同一画面上に表示される。すごいすごい!…でもエラーが起きてる。doctype 5はもう古いからhtmlを使えって書いてる。読みにくいけど。
なんのことかわからんが、layout.jadeを開いてそのように直したら動いた。
インストールやプロクシの設定で躓いて結構時間がとられたが、理解してしまえばあとは簡単。こんなに便利なIDEがブラウザで動くなんて、すげー時代になったもんだなあ。