我试图安装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
克服这个问题的最佳方法是什么?
答案 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中使用现已弃用的函数,这可能会导致问题。