由于失败的依赖(称为连贯性)编译,如何使其工作,我无法将phoenix应用程序部署到heroku?

时间:2016-08-30 20:16:15

标签: heroku deployment elixir phoenix-framework

首先,我使用Phoenix框架创建了一个Elixir应用程序。 此应用程序使用一致性依赖来对网站进行身份验证。安装了这个依赖项,因为建议在带有-full参数的git repo上安装coherence所有的选项。

然后,我刚刚更改了项目的config.exs文件中的几行,以使用mailgun服务进行邮件发送,并将凭据放在那里。

接下来,我安装并配置了我的其他代表(它们与一致性无关)。

在本地,我的应用程序可以编译并运行没有问题。

然后,我想使用Phoenix指南将其部署到Heroku。 当我完成所有步骤时,我在尝试将应用程序推送到Heroku时出错。

然后我尝试检查文件lib/mix/tasks/coherence.clean.ex和第162行,我发现评论说更新配置文件时出错,但我无法弄清楚这意味着什么以及如何解决这一点。

我尝试制作一个新的凤凰应用程序,使用相同或不同的选项安装一致性,然后按照Phoenix指南进行部署。我每次都遇到同样的错误。

我还想注意,我确实尝试创建elixir_buildpack.config文件并将always_rebuild=true放在那里但没有成功。 (这是在部署到Heroku指南的故障排除部分中提到的解决方案)

所以,我的问题是,我需要在我的config.exs文件(或其他地方)中进行哪些更改,以便至少安装一个具有一致性的新应用程序来编译和使用Heroku?

有用的链接: coherence dep github link

非常感谢你们。

1 个答案:

答案 0 :(得分:3)

Heroku Buildpack for Elixir当前默认使用Elixir 1.2.6,而抛出该错误的代码使用else语法和with功能that was added in Elixir 1.3.0,所以你需要通过将以下内容添加到elixir_buildpack.config

,将Elixir版本设置为1.3.0或更高版本
elixir_version=1.3.2