注意!!
この記事はもう古いです。新しい記事を書きましたので、こちらを参照してください。
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 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が立ち上がる。すごい!
app.jsをクリックしてstartすると、以下のように何かが立ち上がる。
running at...の後のhttp://...のアドレスをクリックすると、なんと、同一画面上に表示される。すごいすごい!…でもエラーが起きてる。doctype 5はもう古いからhtmlを使えって書いてる。読みにくいけど。
なんのことかわからんが、layout.jadeを開いてそのように直したら動いた。
インストールやプロクシの設定で躓いて結構時間がとられたが、理解してしまえばあとは簡単。こんなに便利なIDEがブラウザで動くなんて、すげー時代になったもんだなあ。