1

私のdebian vmでプロジェクトを動作させようとしていますが、職長は開始を拒否しています。node.js エラー メッセージはあまり役に立ちません。どのモジュールが見つからないかさえ教えてくれません。

sissi@debian:/media/fancystuff$ foreman start
22:05:33 web.1     | started with pid 2949
22:05:33 web.1     |
22:05:33 web.1     | module.js:337
22:05:33 web.1     |     throw new Error("Cannot find module '" + request + "'");
22:05:33 web.1     |           ^
'2:05:33 web.1     | Error: Cannot find module '/media/fancystuff/web.js
22:05:33 web.1     |     at Function._resolveFilename (module.js:337:11)
22:05:33 web.1     |     at Function._load (module.js:279:25)
22:05:33 web.1     |     at Array.0 (module.js:484:10)
22:05:33 web.1     |     at EventEmitter._tickCallback (node.js:190:38)
22:05:33 web.1     | process terminated
22:05:33 system    | sending SIGTERM to all processes

ところで1:web.jsが削除されているかどうかに関係なく、エラーメッセージは同じです....これは私の混乱を増すだけです。

ところで2:「職長チェック」で「有効なprocfileが検出されました(Web)」

はぁ。

4

2 に答える 2

3

この行から:

'2:05:33 web.1     | Error: Cannot find module '/media/fancystuff/web.js

モジュール名文字列の後に配置された文字が行の先頭で終了したnode web.jsため、呼び出すProcfileの行末に非印刷文字があるようです。'

Procfile を編集し、その特殊文字がなくなっていることを確認すると、問題はおそらく解決されます。これを Debian dev で複製できます。web.jsEOL の前の行末に 32 文字未満を追加することにより、サーバーに追加します。

于 2012-06-30T19:08:02.667 に答える
0

おそらく、フォアマンと互換性がないなど、Procfileキャリッジ リターンを追加する別の OS からコピーされたものです。\r\nProcfile の末尾のスペースまたは文字を削除して、再実行してください。または、最も簡単な方法は、を削除して、 Procfile同じ OS を使用して作成することです。

プロファイルの例:

web: node web.js

アプリを起動します。

ubuntu@yadayada:~/heroku/web$ foreman start

于 2013-10-24T02:47:34.770 に答える