沙箱中的Cabal配置抱怨"至少缺少以下依赖关系"在已安装的包上

时间:2014-08-03 18:52:34

标签: haskell cabal

我有一个项目,它位于沙盒中,我在我的cabal文件中引入了一个测试套件,并在build-depends上引入了hunit ==1.2.*。问题是当我尝试配置时:

  

$ cabal configure --enable-tests
  解决依赖关系......
  配置MyProject-0.1.0.0 ...
  cabal:至少缺少以下依赖项:
  hunit == 1.2。*

还有一些尝试让它出现:

  

$ cabal install - 仅限依赖
  解决依赖关系......
  已安装所有请求的包:
  如果你想重新安装,请使用--reinstall。

&安培;

  

$ cabal install hunit
  解决依赖关系......
  已安装所有请求的包:
  HUnit-1.2.5.2
  如果你想重新安装,请使用--reinstall。

&安培;

  

$ cabal install --enable-tests
  解决依赖关系......
  cabal:无法解决依赖关系:
  尝试:MyProject-0.1.0.0(用户目标)
  拒绝:MyProject-0.1.0.0:!test(全局约束需要相反的标志   选择)
  尝试:MyProject-0.1.0.0:*测试
  下一个目标:hunit(MyProject-0.1.0.0的依赖性:*测试)
  失败(未知包裹:hunit)
  完全搜索依赖树。

--reinstall没有做任何事 我甚至玩--user--global旗帜,即使我使用的是cabal而不是runhaskell,它也无法帮助它。
我也试过delete&重新 - init沙箱 我也尝试了delete沙箱,它仍然给了我同样的错误 ghc-pkg check没有发现任何错误。

它可能是什么?
顺便说一下,我的一部分人怀疑cabal忽略了我的项目是在沙盒中,因为它没有费心安装我机器上已有的一些软件包;它在我的Windows上运行(这是在Ubuntu上)。是否可以检查?

Ubuntu 14.04.1 LTS
GHC版本:7.6.3
cabal-install版本:1.20.0.3
Cabal库版本:1.20.0.2

现在尝试使用cabal-install 1.16.0.2但没有成功。

1 个答案:

答案 0 :(得分:10)

软件包名称在Cabal / Hackage中区分大小写,正确的软件包名称为HUnit。更改包含以下内容的cabal文件中的行:

hunit ==1.2.*

HUnit ==1.2.*
相关问题