Tower.jsはnode.jsで使えるモジュールがいっぱい入ってるパッケージです。例えば、node.jsのsocket.ioモジュールでチャットを作ります。CoffeeScriptが使いたいのでモジュールをインストールします。あとそれからそれから、、、というのがだいたい入ってます。

Tower.js

http://towerjs.org/

Tower.js models

http://towerjs.org/models

僕はこんなに使いこなせるかわかりませんが、とりあえず入れてみて動かしてみたいと思います。参考にさせていただいたのは下記のサイト。

さらばExpressよ!Tower.jsを試すの巻

http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html[](http://codedehitokoto.blogspot.jp/2012/03/expresstowerjs.html)

Tower.jsはnpmにはいっているのでインストールは簡単です。

Tower.jsインストール手順

// 1.-gオプションを付けてnpmからTower.jsをインストール
$ npm install -g tower
 
// 2.$ tower new [フォルダー名]
$ tower new sample
 
// 3.sampleフォルダーに移動
$ cd sample
 
// 4.インストールします。
$ npm install
 
// 5.ターミナルを別タブで開いてMongoDBを起動
$ mongod
 
// 6.ターミナルのタブを最初に戻して起動します。
$ node server.js

さて、これで動くはずみたいですが、僕のはこんなアラートが出ました。

[Sun, 01 Jul 2012 11:20:01 GMT] INFO Tower development server listening on port 3000
[ERROR] Error
Error: failed to connect to [127.0.0.1:27017]

なるほどMongoDBがいるみたいですね。既に入ってる方は無事に起動したと思います。僕はMongoDBは入ってないのでインストールします。

MongoDBをインストールする手順

黒い画面は苦手なので先人の知恵を拝借させていただきました。

参考サイト

Mac OS X で MongoDB を動かす

http://d.hatena.ne.jp/babie/20100601/1275420266

しかし、途中の起動のところで下記のエラーが出ました。

$ /opt/local/bin/mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb.log         [/opt/local/var/db/mongodb]
all output going to: /var/log/mongodb.log
can't open [/var/log/mongodb.log] for log file: errno:13 Permission denied
Sun Jul  1 20:04:18 dbexit: 
Sun Jul  1 20:04:18 shutdown: going to close listening sockets...
Sun Jul  1 20:04:18 shutdown: going to flush diaglog...
Sun Jul  1 20:04:18 shutdown: going to close sockets...
Sun Jul  1 20:04:18 shutdown: waiting for fs preallocator...
Sun Jul  1 20:04:18 shutdown: lock for final commit...
Sun Jul  1 20:04:18 shutdown: final commit...
Sun Jul  1 20:04:18 shutdown: closing all files...
Sun Jul  1 20:04:18 closeAllFiles() finished
Sun Jul  1 20:04:18 dbexit: really exiting now

errno:13 Permission denied おそらく、アクセス権限がない。というアラートなんでしょうね。 アクセス権を変えるchownやchmodを使ってみたり、MacOSのシステム環境設定でmongodさんユーザーを管理者で追加してみたり、 色々試してみたんですが上手く行かず・・・。そこでもう一度ググり直した結果、下記の先人の知恵を発見!

おもむろに mac に mongodb をインストールする

http://d.hatena.ne.jp/hidesuke/20120109/1326095198

ここには、「mongodbを起動するときに –dpath オプションで任意の場所を指定できるけど、初心者は色気を出さないほうがいいんじゃないかな。」まさかの色気!笑 初心者なんで色気は出しません!ということでまとめると下記の手順です。

// 1.brewパッケージマネージャーをアップデートします。
$ brew update
 
// 2.MongoDBをインストール
$ brew install mongodb
 
// 3.MongoDB使うディレクトリを作成
//  (ひょっとしたらできているかもしれません。)
$ sudo mkdir -p /data/db/
 
// 4.アクセス権限の変更、自分にしておく
$ sudo chown `id -u` /data/db
 
// 5.MongoDB起動。
$ mongod
 
// 6.シェルでアクセスするには、ターミナルの別タブを開いて
$ mongo
 
// 7.動いてるか確認
> new Date();
ISODate("2012-07-01T11:16:13.670Z")

さすが噂のMongoDB、JavaScriptが認識しました。さて、Tower.jsを動かしてみるだけで道のりが遠かった・・・。では、Tower.jsを起動してみます。

$ node server.js
info  - socket.io started
[Sun, 01 Jul 2012 11:23:30 GMT] INFO Tower development server listening on port 3000

http://localhost:3000にアクセスして、

無事に起動しました!が、名前が変わってるはずの場所がusernameのままで、クリックしても、 No path matches /example@example.com と文字が出るだけ・・・。うーん、、何があかんねやろ・・・。何方様か教えて頂けませんでしょうか(T-T) まぁでも一応Tower.jsというのは動きましたので、また解決策が見つかれば報告します。