使用node.js在Heroku中找不到模块“Parse”
我正在使用nodejs访问。它在本地运行良好。但当我将代码推送到Heroku时,我得到如下错误:使用node.js在Heroku中找不到模块“Parse”,node.js,heroku,parse-platform,Node.js,Heroku,Parse Platform,我正在使用nodejs访问。它在本地运行良好。但当我将代码推送到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
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
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
我不知道运行时为什么会出错
谢谢你2013-03-16T13:34:58+00:00应用程序[worker.1]:**错误:找不到模块“Parse”**
确保模块是包.json的一部分。2013-03-16T13:34:58+00:00应用程序[worker.1]:**错误:找不到模块“Parse”**
确保该模块是包.json的一部分。在.js文件中,使用带小写字母p的require'parse'。JavaScript和node.js包名区分大小写。在.js文件中,使用require'parse'和小写的p。JavaScript和node.js包名区分大小写。请发布您的package.json和Procfile。第一个猜测是你的package.json文件没有正确地将解析模块列为依赖项。谢谢Peter Lyons,我已经更新了我的原始帖子。请发布你的package.json和Procfile。第一个猜测是你的package.json文件没有正确地将解析模块列为依赖项。谢谢Peter Lyons,我已经更新了我的原始帖子。是的,它在我的package.json中。我可以在本地运行应用程序,也可以使用foreman start。是的,它在我的package.json中。我可以在本地运行应用程序,也可以使用foreman start。太好了。我认为OSX是区分大小写的。OSX HFS文件系统默认不区分大小写,但Heroku dynos是linux和区分大小写的文件系统。在任何情况下,节点约定都是区分大小写的模块和包名称,因此始终要求模块使用匹配的大小写,这样您就不会有任何问题。谢谢,我稍后会关注这一点。太好了。我认为OSX是区分大小写的。OSX HFS文件系统默认不区分大小写,但Heroku dynos是linux和区分大小写的文件系统。在任何情况下,节点约定都是区分大小写的模块和包名称,因此始终要求模块使用匹配的大小写,这样您就不会有任何问题。谢谢,我稍后会关注这一点。