1

私はnodejsを使用してParseにアクセスしています。ローカルで正常に動作します。しかし、コードをHerokuにプッシュすると、次のようなエラーが発生します。

6T13:34:58+00:00 app[worker.1]:

2013-03-16T13:34:58+00:00 app[worker.1]: module.js:340

2013-03-16T13:34:58+00:00 app[worker.1]: throw err;

2013-03-16T13:34:58+00:00 app[worker.1]: at Function.Module._resolveFilename (module.js:338:15)

2013-03-16T13:34:58+00:00 app[worker.1]: at Function.Module._load (module.js:280:25)

2013-03-16T13:34:58+00:00 app[worker.1]: at Module.require (module.js:364:17)

2013-03-16T13:34:58+00:00 app[worker.1]: at Object.Module._extensions..js (module.js:474:10)

2013-03-16T13:34:58+00:00 app[worker.1]: **Error: Cannot find module 'Parse'**

2013-03-16T13:34:58+00:00 app[worker.1]: ^

2013-03-16T13:34:58+00:00 app[worker.1]: at require (module.js:380:17)

2013-03-16T13:34:58+00:00 app[worker.1]: at Object.<anonymous> (/app/server.js:2:10)

2013-03-16T13:34:58+00:00 app[worker.1]: at Module._compile (module.js:456:26)

2013-03-16T13:34:58+00:00 app[worker.1]: at Module.load (module.js:356:32)

2013-03-16T13:34:58+00:00 app[worker.1]: at Function.Module.runMain (module.js:497:10)

2013-03-16T13:34:58+00:00 app[worker.1]: at Function.Module._load (module.js:312:12)

2013-03-16T13:34:59+00:00 heroku[worker.1]: Process exited with status 8

2013-03-16T13:34:59+00:00 heroku[worker.1]: State changed from up to crashed

ただし、herokuシミュレーターである「foremanstart」を使用してコードを実行することはできます。

@PeterLyonsのリクエストに応じて。以下のプロファイルファイル:

worker: node server.js

package.json

{
"name": "app name",
"description": "app description",
"version": "1.0.0",
"private": true,
"dependencies": {
    "cron": ">=1.0.1",
    "jsdom" : ">=0.5.2", 
    "parse" : "*"
    }
}

コードをherokuにプッシュすると、解析依存関係が正しくフェッチされていることがわかります。

   parse@1.2.2 /tmp/build_3jl0a1qf6bwt3/node_modules/parse
   localStorage@1.0.2 /tmp/build_3jl0a1qf6bwt3/node_modules/parse/node_modules/localStorage
   xmlhttprequest@1.5.0 /tmp/build_3jl0a1qf6bwt3/node_modules/parse/node_modules/xmlhttprequest
   Dependencies installed
-----> Building runtime environment
-----> Discovering process types
       Procfile declares types -> worker

実行時にエラーが発生する理由がわかりません。

ありがとう

4

2 に答える 2

4

.jsファイルではrequire('parse')、小文字の「p」を使用します。JavaScriptとnode.jsのパッケージ名では大文字と小文字が区別されます。

于 2013-03-17T04:22:27.350 に答える
2

2013-03-16T13:34:58+00:00 app[worker.1]: **Error: Cannot find module 'Parse'**

モジュールがの一部であることを確認してくださいpackage.json

于 2013-03-16T13:58:17.540 に答える