dotcloudバージョンアップ後にNodejsがデプロイ出来ない対処

Pocket
LINEで送る

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. (/home/dotcloud/rsync-xxxxxx/フォルダ名/node_modules/express/node_modules/connect/lib/middleware/compress.js:14:12)
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になってました。感謝感謝!

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください