node.js を使ってみる

CommonJSをCouchDB上で動かしてみる試み、ということで、node.js(http://nodejs.org/) を試します。

Mac OS X 10.6, CouchDB 0.10.1, node.js 0.1.26 です。

$ ./configure
$ make
$ sudo make install

でインストール完了。/opt/local/bin/node ができあがっています。

次にCouchDB

$ curl -X PUT -d '"/usr/local/bin/node /usr/local/share/couchdb/server/main.js"' http://localhost:5984/_config/query_servers/javascript

と設定をしてあげます。local.iniいじってもいいですが、私の開発環境のように、たくさんのlocal.iniがあるとどれ使われているかわからなくなるので、HTTPでしか操作しません。

で適当なビューを作って試してみるとエラーになる。couch.log を見ると

ReferenceError: readline is not defined

ふむ。っと、、、、ここでnode.jsのAPIはすべてasyncで、こうなるとmain.jsの結構な量をかきかえなければならないことに今更気がついたので又後で。

っていうか、CouchDBのQueryServerインターフェースが同期IOを前提に設計されているのに、node.jsというNon-Blocking I/O で基本非同期のSSJSもってきたらだめじゃん。。。

flusspferd にする。