6

私のノードプロセスが呼び出されない杉スタック上のherokuへの私のアプリの展開に奇妙な問題があるようです

私のProfileは次のとおりです。

web: node web.js

そして私のpackage.jsonファイル:

{
 "name": "fuuzik",
 "version": "0.0.1",
 "dependencies": {
   "express": "3.x",
   "jade":"*",
   "mime-magic":"*"
  },
 "engines": {
  "node": "0.8.x",
  "npm": "1.1.x"
  }
}

したがって、コミットしてプッシュした後、heroku はそれがノードアプリであると検出し、依存関係を正しく構築し、デプロイされたとさえ言います..それでも、アプリはデプロイ時にすぐにクラッシュし、heroku ログが返されます。

2012-08-29T08:52:14+00:00 heroku[api]: Deploy d9fdb17 by he610@doc.ic.ac.uk
2012-08-29T08:52:14+00:00 heroku[web.1]: State changed from crashed to starting 
2012-08-29T08:52:14+00:00 heroku[slugc]: Slug compilation finished
2012-08-29T08:52:16+00:00 heroku[web.1]: Starting process with command `node web.js`
2012-08-29T08:52:16+00:00 app[web.1]: bash: node: command not found
2012-08-29T08:52:17+00:00 heroku[web.1]: Process exited with status 127 
2012-08-29T08:52:17+00:00 heroku[web.1]: State changed from starting to crashed

foreman は正常に動作し、ルート ディレクトリの周りにいくつかの .php ファイルがあります (古いコードを移植しているため) が、Procfiles のロジックによって許可されるべきであると確信しています。

リクエストされた npm install local の出力は次のとおりです。

--[/DEBUG]--
jade@0.27.2 node_modules/jade
├── commander@0.6.1
└── mkdirp@0.3.0

express@3.0.0rc3 node_modules/express
├── methods@0.0.1
├── range-parser@0.0.4
├── fresh@0.1.0
├── cookie@0.0.4
├── crc@0.2.0
├── commander@0.6.1
├── debug@0.7.0
├── mkdirp@0.3.3
├── send@0.0.3 (mime@1.2.6)
└── connect@2.4.3 (pause@0.0.1, bytes@0.1.0, qs@0.4.2, formidable@1.0.11)

mime-magic@0.3.0 node_modules/mime-magic

プッシュしたときのgitログは次のとおりです(少し大きいのでリンクしました):

http://pastebin.com/d424TBfR

どんな助けでも大歓迎です!

4

3 に答える 3

4

Profile を削除してみてください。

どうやら、Procfile は heroku を使用してアプリを実行することを示してnode main.jsいますが、node は PATH 変数に含まれていないため、有効なコマンドではありません。

Procfile を削除することで、heroku はアプリが meteor アプリであることを検出し、ノードのバイナリとフルパスを使用してそれを実行します。

また、ROOT_URLhttp:// で始まる設定が必要です。

于 2013-12-05T22:43:04.660 に答える
3

これらのコマンドは問題を解決しました

heroku buildpacks:set heroku/nodejs
git commit -am "empty" --allow-empty
git push heroku master
于 2018-11-12T21:08:05.737 に答える
0

libmagic (mime-magic で必要) は、heroku が提供するものとは異なるバージョンの libc を想定しています。代替ライブラリを見つけるか、heroku のバージョンの libc 用に自分でコンパイルする必要があります。

于 2013-02-26T23:54:36.577 に答える