【发布时间】:2013-12-17 20:44:38
【问题描述】:
我正在尝试在 Heroku 上部署一个全新的应用程序。它是使用 Play 制作的!框架 2.0.2。
我按照此页面的所有步骤操作:https://github.com/playframework/Play20/wiki/ProductionHeroku
但是当我部署它时,得到以下错误
> -----> Heroku 接收推送 -----> 玩!检测到应用 -----> 警告:玩!在 dependencies.yml 中未指定版本。默认版本 : 1.2.4 正在使用.... -----> 安装播放! 1.2.4…… -----> 完成 -----> 安装 ivysettings.xml ..... 完成 -----> 建筑游戏!应用... ~ _ _ ~ _ __ | | __ _ _ _| | ~ | '_ \| |/ _' | || |_| ~ | __/|_|\____|\__ (_) ~ |_| |__/ ~ ~玩! 1.2.4,http://www.playframework.org ~ 1.2.4 建设游戏!目录中的应用程序 ./ 解决依赖关系: .play/play 依赖关系 ./ --forProd --forceCopy --silent -Duser.home=/tmp/build_2g0tyg50mwz8m 2>&1 ~!! /tmp/build_2g0tyg50mwz8m/conf/dependencies.yml 不存在 ~ ~ 完成! ~ 预编译:.play/play 预编译 ./ --silent 2>&1 〜哎呀。 conf/routes 或 conf/application.conf 丢失。 ~ /tmp/build_2g0tyg50mwz8m 似乎没有托管有效的应用程序。 ~ !无法构建 Play!应用 !清除播放!来自缓存的框架 ! Heroku push 被拒绝,无法编译 Play!应用程序`所以它要求我在 dependencies.yml 中定义版本。但是,如果在新版本的框架中没有这样的文件,我怎么能这样做呢?
我发现一个人说他通过将整个框架上传到 Heroku 来解决这个问题。但这对我来说似乎不对。
有什么办法可以解决这个问题吗?
非常感谢。
【问题讨论】:
-
这很奇怪,因为 Heroku 检测到您的应用是使用 Play 版本 1.2.4 构建的。它是 Heroku 的新实例还是旧实例?你能展示你的 Procfile 吗?
-
这是 Heroku 的一个新实例。不幸的是,1.2.4 是它的默认版本。这是我的 Procfile "web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS}"
-
如果我在下面的回答不起作用,请确保您的项目位于 git repo 的根目录中。
-
就像你说的。在我将项目移动到 git repo 的根目录后,它工作了。非常感谢!
-
酷。很高兴这有效。我已经更新了我的答案以反映这一点。