我在理解如何升级 cabal 沙箱中的软件包时遇到了一些麻烦。我想升级esqueleto-1.3.4.5
到esqueleto-1.3.5
并更改myapp.cabal
为依赖esqueleto >= 1.3.5 && < 1.4
.
$ cabal --version
cabal-install version 1.18.0.2
using version 1.18.1.2 of the Cabal library
$ cabal install --upgrade-dependencies
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: esqueleto-1.3.4.5/installed-ac7... (user goal)
next goal: myapp (user goal)
rejecting: myapp-0.0.0 (conflict:
esqueleto==1.3.4.5/installed-ac7..., myapp => esqueleto>=1.3.5 &&
<1.4)
在我看来,这个错误好像 cabal 正在尝试使用已安装的 esqueleto 版本来解决依赖关系,esqueleto-1.3.4.5/installed-ac7...
有人可以解释一下这是如何工作的吗?
我的直觉是我应该用它--upgrade-dependencies
来做到这一点,但我也尝试过--only-dependencies
and --reinstall
。