Heroku在Yeoman MEAN app的Procfile中找不到./node_modules/.bin/forever

时间:2016-09-15 23:43:01

标签: node.js heroku deployment yeoman meanjs

我一直试图让一个Yeoman生成的MEAN.js应用程序部署到Heroku,一天中最好的部分没有太多运气。 我已经仔细完成了所有步骤,并且非常确定我已根据文档正确完成了所有操作。 经过多次检查并确保使用heroku config正确配置数据库后,从public/dist删除.gitignore文件夹,运行grunt build,设置NODE_ENV=production,然后运行一个成功的Heroku构建应用程序只是连续显示非常无用的Heroku Application Error页面。

检查heroku logs后,我唯一能找到的是:

bash: ./node_modules/.bin/forever: No such file or directory
Process exited with status 127

其中明确指的是包含此单行的Procfile,它是应用应该从哪里开始的。

web: ./node_modules/.bin/forever -m 5 server.js

项目根目录中有一个server.js,所以我尝试将Procfile修改为标准版web: node server.js,但这并不能解决问题我不习惯弄乱使用默认的Yeoman配置。

./node_modules/.bin/forever当然应该在那里。但它显然没有出现或无法在现场Heroku构建中找到。如果有人知道这里的问题是什么以及如何解决它,我非常感谢帮助!干杯!

1 个答案:

答案 0 :(得分:0)

在我升级了我的nodejs之后发生了这种情况,我无法弄清楚为什么会发生这种情况,但这是我的解决方法,asap,

当我跑heroku run ls node_modules/.bin/时 我永远找不到那里。所以我通过运行npm install forever --save

安装并将其保存到我的依赖项中

再次运行heroku run ls node_modules/.bin/时,它就在那里,我的应用运行正常。 一旦我确定了究竟是什么原因,我一定会尽快更新。