NodeJSの最初のエンドツーエンドテストとして、Compoundjs(別名railwayjs)をHerokuまたはNodejitsuにデプロイしようとしています。
手順
- ノードのインストール: 0.8.16
- Heroku ツールのインストール
- npm install Compound -g (v1.1.4-1)
CompoundJS の Heroku ガイドに記載されているサンプルの heroku アプリ
compound init heroku-app cd heroku-app sudo npm link compound g crud post title content
packages.json の調整: 次のようにエンジンを追加しました
"engines": { "node": "0.8.x", "npm": "1.1.x" },
職長の開始 -> アプリケーションは完璧に機能します
- git add と commit
- git push heroku マスター
- heroku ps:scale web=1 (初回のみ)
その後、アプリケーションがデプロイされ、heroku のテスト ホストからアクセスできるようになります。アプリケーション インデックスは正常に動作 しますが、新しいブログ投稿を作成しようとするとエラー ページが表示されます。
他のレポートによると、この問題は依存関係のバージョンに関連しています。heroku への git push 出力によると、以下のバージョンが使用されています。
Resolving engine versions
Using Node.js version: 0.8.14
Using npm version: 1.1.65
....
(main dependencies)
npm http GET https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.4.0.tgz
npm http 200 https://registry.npmjs.org/seedjs
npm http GET https://registry.npmjs.org/seedjs/-/seedjs-0.0.4.tgz
npm http 200 https://registry.npmjs.org/compound
npm http 200 https://registry.npmjs.org/ejs-ext/-/ejs-ext-0.1.4.tgz
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/compound/-/compound-1.1.4-1.tgz
npm http GET https://registry.npmjs.org/express/-/express-3.0.5.tgz
npm http 200 https://registry.npmjs.org/jugglingdb
npm http 200 https://registry.npmjs.org/stylus
npm http 200 https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz
npm http GET https://registry.npmjs.org/jugglingdb/-/jugglingdb-0.2.0-9.tgz
npm http GET https://registry.npmjs.org/stylus/-/stylus-0.31.0.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.4.0.tgz
npm http 200 https://registry.npmjs.org/seedjs/-/seedjs-0.0.4.tgz
npm http 200 https://registry.npmjs.org/stylus/-/stylus-0.31.0.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.0.5.tgz
npm http 200 https://registry.npmjs.org/compound/-/compound-1.1.4-1.tgz
nodejitsu にデプロイするときに同じ問題に直面します (まったく同じ)。何か案が ?私は特定の依存関係のバージョンに注目しているので、これはサーバーで使用されている古い依存関係とは関係ないと思います。
ありがとう。
Nodejitsu 関連情報の更新:
Nodejitsu ログオン jitsu デプロイ
info: Welcome to Nodejitsu storni
info: jitsu v0.11.4, node v0.8.16
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
info: Analyzing application dependencies in server.js
warn: Local package version appears to be old
warn: The package.json version will be incremented automatically
warn: About to write F:\repo\mine\last-jitsu-test\package.json
data:
data: {
data: scripts: { test: 'nodeunit test/*/*', start: 'server.js' },
data: name: 'last-jitsu-test',
data: version: '0.0.1-5',
data: dependencies: {
data: coffee-script: '>= 1.1.1',
data: stylus: '0.31.0',
data: seedjs: '0.0.4',
data: compound: '1.1.4-1',
data: ejs-ext: '0.1.4',
data: express: '3.0.5',
data: ejs: '0.8.3',
data: jugglingdb: '>= 0.1.0'
data: },
data: devDependencies: {
data: sinon: '*',
data: semicov: '*',
data: nodeunit: '*'
data: },
data: subdomain: 'storni.last-jitsu-test',
data: main: 'server.js',
data: engines: { npm: '1.1.x', node: '0.8.x' }
data: }
data:
prompt: Is this ok?: (yes)
info: Creating snapshot 0.0.1-5
info Uploading: [=============================] 100%
info: Updating app last-jitsu-test
info: Activating snapshot 0.0.1-5 for last-jitsu-test
info: Starting app last-jitsu-test
info: App last-jitsu-test is now started
info: http://storni.last-jitsu-test.jit.su on Port 80
info: Nodejitsu ok
storni.last-jitsu-test.jit.su/items -> Works ok storni.last-jitsu-test.jit.su/items/new -> Heroku デプロイと同じエラー ページを表示します。
このシナリオでは、バニラでローカルにテストしました
node server.js