首次尝试将 Node.js 应用程序部署到 Heroku 时,出现以下错误:
使用“生产”环境配置加载的应用程序 2014-08-28T01:02:56.823904 + 00:00应用程序[web.1]:在Function.Module._resolveFilename(module.js:338:15) 2014-08-28T01:02:56.823906 + 00:00应用程序[web.1]:在Function.Module._load(module.js:280:25) 2014-08-28T01:02:56.823900 + 00:00应用程序[web.1]:错误:找不到模块“pkginfo” 2014-08-28T01:02:56.817349+00:00 应用程序[web.1]: ^ 2014-08-28T01:02:56.823915 + 00:00应用程序[web.1]:在Object.Module._extensions..js(module.js:474:10) 2014-08-28T01:02:56.823908 + 00:00应用程序[web.1]:在Module.require(module.js:364:17) 2014-08-28T01:02:56.823910 + 00:00应用程序[web.1]:需要(module.js:380:17) 2014-08-28T01:02:56.823912+00:00 应用程序[web.1]:位于对象。 (/app/node_modules/passport-google-oauth/node_modules/passport-oauth/node_modules/passport/lib/passport/index.js:440:1) 2014-08-28T01:02:56.823913 + 00:00应用程序[web.1]:在Module._compile(module.js:456:26) 2014-08-28T01:02:56.823918 + 00:00应用程序[web.1]:在Function.Module._load(module.js:312:12) 2014-08-28T01:02:56.814921+00:00 应用程序[web.1]: 2014-08-28T01:02:56.838954 + 00:00 app [web.1]:错误:永远检测到脚本退出,代码为:8 2014-08-28T01:02:56.815953 + 00:00应用程序[web.1]:抛出错误; 2014-08-28T01:02:56.823920 + 00:00应用程序[web.1]:在Module.require(module.js:364:17) 2014-08-28T01:02:56.823917 + 00:00应用程序[web.1]:在Module.load(module.js:356:32) 2014-08-28T01:02:56.815545+00:00 应用程序[web.1]: module.js:340
我已经按照 Heroku 网站上的所有步骤部署 Node ,但一直坚持修复上述错误。我可以在本地计算机上成功执行“foreman start”。起初,在执行“foreman start”之后,我得到了同样的错误“找不到模块‘pkginfo’,所以我在本地计算机上安装了 pkginfo,然后 foreman start 工作了,我可以在 localhost:5000 上启动我的应用程序,没有任何问题。然而,仍然坚持修复 Heroku 服务器上的这个错误。有什么帮助吗?
谢谢! 杰森
最佳答案
您需要做的就是在生产环境中安装该软件包
1.进入您的主应用程序目录
cd 应用目录
2.安装模块
npm install pkginfo
3.重新部署
关于node.js - "Error: Cannot find module ' pkginfo '"- 部署到heroku的 Node js应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539240/