dotcloudがバージョンアップしてから、今までのDeploy出来てたものが出来なくなった。。。
port8080のwarningがでてるし、吐き出されたURLにアクセスすると、502。。
同じ現象で解決している人がいたので参考にしながらやったらうまくいったのでメモを。
まずログの確認。
$ dotcloud logs アプリケーション名.www
#  tail -F /var/log/supervisor/*.log
==> /var/log/supervisor/node-stderr—supervisor-BkNQQ9.log <==
    at Function._resolveFilename (module.js:317:11)
    at Function._load (module.js:262:25)
    at require (module.js:346:19)
    at Object.
    at Module._compile (module.js:402:26)
    at Object..js (module.js:408:10)
    at Module.load (module.js:334:31)
    at Function._load (module.js:293:12)
    at require (module.js:346:19)
    at Object.compress (/home/dotcloud/rsync-xxxxxx/フォルダ名/node_modules/express/node_modules/connect/lib/connect.js:89:14)
 
==> /var/log/supervisor/node-stdout—supervisor-l9fdKH.log <==
express/node_modules/connect/lib/middleware/compress.jsとexpress/node_modules/connect/lib/connect.jsで何かやらかしてるらしい。。原因はローカルとdotCloudでconnectのバージョンが違うことらしい。
まずはローカルのバーションを確認
$ npm list
/Users/takeda/Documents/04_dotcloud
├─┬ express@2.5.9 -> /opt/local/lib/node_modules/express
│ ├─┬ connect@1.8.7
│ │ └── formidable@1.0.9
│ ├── mime@1.2.4
│ ├── mkdirp@0.3.0
│ └── qs@0.4.2
└── socket.io@0.9.6 -> /opt/local/lib/node_modules/socket.io
 
connectのバージョンは1.8.7。
 
package.jsonにconnectを追加
[java]
  “dependencies”: {
    “express”: “2.5.9”,
    “connect”: “1.8.7”,   // これを追加
    “socket.io”: “0.9.6”,
    “underscore”: “”
  }
[/java]
準備ができたのでPush!
$ dotcloud push アプリケーション名
02:42:08 [www] connect@1.8.7 ./node_modules/connect
02:42:08 [www] ├── mime@1.2.5
02:42:08 [www] ├── formidable@1.0.11
02:42:08 [www] └── qs@0.5.0
Deployment finished. Your application is available at the following URLs
www: http://アプリケーション名-ユーザ名.dotcloud.com/
$
connectも適応されてアプリが起動きました〜。
statusコマンドで確認してもrunningになってました。感謝感謝!