【发布时间】:2014-08-10 02:48:46
【问题描述】:
我尝试按照http://www.playframework.com/documentation/2.3.x/ProductionHeroku 中的说明将 Play Framework 2.3.0 应用部署到 Heroku。
我的简单应用程序在本地运行没有任何问题,并且推送/部署到 Heroku 没有显示任何错误迹象。
推送日志结束:
[…]
-----> Building runtime environment
-----> Discovering process types
Procfile declares types -> (none)
done, 11.0MB
done, v4
http://xxxxxxxxxxx.herokuapp.com/ deployed to Heroku
To git@heroku.com:xxxxxxxxxxx.git
f1c57d6..6bb0df3 master -> master
updating local tracking ref 'refs/remotes/heroku/master'
当我打开网页时,我得到 Heroku 的“应用程序错误”页面(不是 Play 的错误页面)。
如果我运行heroku ps,则没有列出任何进程(什么都没有)。
这是我第一次部署 Heroku。由于从 2.3 起从 play 命令更改为 activator,我不知何故觉得 Heroku 不知道如何启动 Play 应用程序。
还有一件事:我注意到,在 Heroku Dashboard > App > Settings > Info 上显示“Framework: Node.js”,这有点奇怪,尽管我在项目中使用了 Bower。
有什么想法吗?非常感谢!
更新: 实际问题是 Heroku 认为我的应用程序是 Node.js 应用程序,只要我的存储库中有 package.json 文件,就不会编译任何内容。一旦我删除它并将所有依赖项(bower_components 目录)提交到存储库,一切都很好。我现在必须找到一种方法来运行 Bower 更新并在推送时编译 Play Framework...
【问题讨论】:
-
你可以用
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-scala.git专门设置play framework build pack,然后你应该可以恢复你的package.json文件