我一直试图让一个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构建中找到。如果有人知道这里的问题是什么以及如何解决它,我非常感谢帮助!干杯!
答案 0 :(得分:0)
在我升级了我的nodejs之后发生了这种情况,我无法弄清楚为什么会发生这种情况,但这是我的解决方法,asap,
当我跑heroku run ls node_modules/.bin/
时
我永远找不到那里。所以我通过运行npm install forever --save
再次运行heroku run ls node_modules/.bin/
时,它就在那里,我的应用运行正常。
一旦我确定了究竟是什么原因,我一定会尽快更新。