haskell - 沙箱中的 Cabal 配置提示已安装的软件包出现 "At least the following dependencies are missing"

标签 haskell cabal

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

$ cabal configure --enable-tests
Resolving dependencies...
Configuring MyProject-0.1.0.0...
cabal: At least the following dependencies are missing:
hunit ==1.2.*

再做几次尝试来让它实现:

$ cabal install --dependencies-only
Resolving dependencies...
All the requested packages are already installed:
Use --reinstall if you want to reinstall anyway.

&

$ cabal install hunit
Resolving dependencies...
All the requested packages are already installed:
HUnit-1.2.5.2
Use --reinstall if you want to reinstall anyway.

&

$ cabal install --enable-tests
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: MyProject-0.1.0.0 (user goal)
rejecting: MyProject-0.1.0.0:!test (global constraint requires opposite flag selection)
trying: MyProject-0.1.0.0:*test
next goal: hunit (dependency of MyProject-0.1.0.0:*test)
fail (unknown package: hunit)
Dependency tree exhaustively searched.

--reinstall ing什么也没做。
我什至玩过--user--global标志,即使我正在使用 cabal而不是runhaskell ,这没有帮助。
我也尝试过 delete & 重新 init沙箱。
我刚刚尝试过 delete也使用了沙箱,但它仍然给了我同样的错误。
ghc-pkg check没发现什么问题。

可能是什么?
顺便说一句,我的一部分怀疑 Cabal 忽略了我的项目位于沙箱中,因为它没有费心安装一些已经在我的机器上的软件包;它在我的 Windows 上执行此操作(这是在 Ubuntu 上)。可以检查一下吗?

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

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

最佳答案

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

hunit ==1.2.*

HUnit ==1.2.*

关于haskell - 沙箱中的 Cabal 配置提示已安装的软件包出现 "At least the following dependencies are missing",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25107967/

相关文章:

haskell - 我可以把 IO monad 漂亮地放在这个纯函数上吗?

haskell - 类型族可以做什么多参数类型类和功能依赖不能

haskell - 解决 GHC 'I found a duplicate definition for symbol ...'

haskell - llvm-general 的 cabal 安装失败

haskell - 这两个非常相似的 haskell 状态计算有什么区别

haskell - 如何在Haskell中根据特定条件过滤树?

haskell - Haskell 中的 NLP 解析器

haskell - 如何从本地 Cabal 可执行项目引用本地 Cabal 库?

haskell - Windows 上的 regex-pcre

haskell - 当 cabal 构建软件包时, "legacy fallback"是什么意思?