使用node.js在Heroku中找不到模块“Parse”

我正在使用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模拟器的“foreman start”来运行我的代码。

作为@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时,我可以看到它正确地取得了我的parsing依赖。

  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 

我不知道为什么在运行时出现错误。

谢谢

在您的.js文件中,使用带小写字母“p”的require('parse') 。 JavaScript和node.js包名称区分大小写。

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

确保模块是你的package.json一部分。