我对哈斯克尔很陌生。我正在尝试使用堆栈构建一个从GitHub下载的项目。当我尝试运行stack solver时,我得到了以下输出:
cabal: Could not resolve dependencies:
trying: deeplearning-hs-0.1.0.2 (user goal)
next goal: base (dependency of deeplearning-hs-0.1.0.2)
rejecting: base-4.8.1.0/installed-075... (conflict: deeplearning-hs =>
base>=4.6 && <4.7)
rejecting: base-4.8.1.0 (global constraint requires installed instance)
rejecting: base-4.8.0.0, 4.7.0.2, 4.7.0.1, 4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0,
4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2, 4.2.0.1, 4.2.0.0,
4.1.0.0, 4.0.0.0, 3.0.3.2, 3.0.3.1 (global constraint requires ==4.8.1.0)
Dependency tree exhaustively searched.问题似乎是这种“全球约束”,但我不知道这是从哪里来的。我查看了我的全局.cabal文件,它们是相当通用的--它们似乎没有指定任何版本。
发布于 2015-12-25 15:28:22
base是一个与GHC (编译器)捆绑在一起的库。对于每个GHC版本,有一个base版本。
要安装deeplearning-hs,似乎需要满足base == 4.6.*约束,即GHCVersion7.6。不幸的是,您无法使用堆栈AFAIK安装GHC比7.8更旧的GHC。
如果您将base >=4.6 && <4.7边界更改为base >= 4.6 && <4.8,则可以在本地使用它,例如,允许GHC7.8附带base。注意,您不应该删除依赖项,您应该尝试放松约束(即版本界限)。我在本地尝试过,这个包似乎是用GHC7.8编译的。它不使用GHC7.10编译,因为可折叠-遍历-提案会影响这个包。
IMHO最好的方法是联系维护人员并要求升级,或者更好地提交一个拉请求,因为源似乎在GitHub (我就是这么做的)上。
P.S. 我放宽了对黑客的限制,这样你现在就可以用GHC7.8安装它了。
https://stackoverflow.com/questions/34463990
复制相似问题