首先,我使用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
非常感谢你们。
答案 0 :(得分:3)
Heroku Buildpack for Elixir当前默认使用Elixir 1.2.6,而抛出该错误的代码使用else
语法和with
功能that was added in Elixir 1.3.0,所以你需要通过将以下内容添加到elixir_buildpack.config
:
elixir_version=1.3.2