Twitter社のOBがつくったnode.js用のMVCフレームワーク「Matador」のインストール
インストール
[sudo] npm install matador -g
これでmatadorのインストールは完了です。確認のためmatadorコマンドが何処に入ったか見てみます。
$ which matador /usr/local/bin/matador
Matadorを使ったプロジェクトの作成
matadorコマンドを使って、プロジェクトのスケルトンを作成します。
ここでは、~/codes/nodeディレクトリ以下にmatador1という名前のプロジェクトを作成してみます。
foo:~ $ cd codes/node/ foo:~/codes/node $ matador init matador1 installing Matador into matador1 Success! foo:~/codes/node $ ls -l matador1/ total 8 drwxr-xr-x 6 foo staff 204 1 7 21:00 app drwxr-xr-x 3 foo staff 102 1 7 21:00 node_modules drwxr-xr-x 3 foo staff 102 1 7 21:00 public -rw-r--r-- 1 foo staff 863 1 7 21:00 server.js
これで、上の例では~/codes/node/matador1にプロジェクトのスケルトンが作成されました。
matadorアプリの起動
matadorのアプリの本体はプロジェクトのディレクトリ直下にあるserver.jsです。
これを次のように起動します。
node server.js
ところが、このままでは多くの場合、おそらく次のようなエラーメッセージが出力されるはずです。
foo:~/codes/node/matador1 $ node server.js node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'hogan.js' at Function._resolveFilename (module.js:334:11) at Function._load (module.js:279:25) at Module.require (module.js:357:17) at require (module.js:368:17) at Object. (/Users/foo/codes/node/matador1/node_modules/matador/src/matador.js:2:13) at Module._compile (module.js:432:26) at Object..js (module.js:450:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Module.require (module.js:357:17) foo:~/codes/node/matador1 $ node server.js node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'klass' at Function._resolveFilename (module.js:334:11) at Function._load (module.js:279:25) at Module.require (module.js:357:17) at require (module.js:368:17) at Object. (/Users/foo/codes/node/matador1/node_modules/matador/src/matador.js:5:28) at Module._compile (module.js:432:26) at Object..js (module.js:450:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Module.require (module.js:357:17) foo:~/codes/node/matador1 $ node server.js node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'valentine' at Function._resolveFilename (module.js:334:11) at Function._load (module.js:279:25) at Module.require (module.js:357:17) at require (module.js:368:17) at Object. (/Users/foo/codes/node/matador1/node_modules/matador/src/matador.js:6:20) at Module._compile (module.js:432:26) at Object..js (module.js:450:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Module.require (module.js:357:17)
エラーメッセージが出力され、matadorアプリを起動できない理由は、エラーメッセージのとおりです。
matadorが依存しているhogan.js、klass、valentineの3つのモジュールが存在しないため、エラーになっています。
そこで、hogan.js、klass、valentineをそれぞれ以下のようにインストールします。
npm install hogan.js npm install klass npm install valentine
これで、プロジェクトのDirectoryのnode_modules以下にhogan.js、klass、valentineの3つのモジュールがインストールされました。
もう一度node server.jsを実行し、http://localhost:3000にアクセスすると、以下のようなhello worldのページが無事に表示されます。
実際の使い方は後日。














