安装Addict时出错 - Ecto上的冲突要求

时间:2015-09-04 14:32:08

标签: elixir phoenix-framework

我试图安装Addict,所以我在mix.ex中加入了最新版本(如Hex):

{:addict, ">= 0.1.0"}

然后,我运行了混合reps.get并收到错误:

查找有关ecto上相互冲突的要求的替代方案

From mix.lock: 1.0.0
  From addict v0.1.0: ~> 0.9
** (Mix) Hex dependency resolution failed, relax the version requirements or unlock dependencies

我试着在mix.lock中这样做,但由于出现了这个错误,因此无法解决这个问题:

(Mix) Unknown package version ecto v0.0.9 in lockfile

克服这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

您可以使用override标志设置要覆盖的依赖项:

defp deps do
  ...
   {:ecto, "~> 1.0.0", override: true},
   {:addict, "~> 0.1.0"},
  ...
end

来自docs

  

:override - 如果设置为true,依赖项将覆盖其他依赖项

的任何其他自身定义

这意味着即使addict将版本设置为0.9.0,也会使用1.0.0版本。如果addict在Ecto中使用现已弃用的函数,这可能会导致问题。