我正在尝试写一个 myproj.cabal 为我的项目归档,但似乎并没有找到我安装的包裹 ~/.cabal

% cabal list HTF
* HTF
    Synopsis: The Haskell Test Framework
    Latest version available: 0.6.0.1
    Latest version installed: 0.6.0.1
    License:  LGPL
% ghc-pkg list HTF
/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/package.conf.d
/Users/rampion/.ghc/i386-darwin-6.12.3/package.conf.d
   HTF-0.6.0.1
% cat Setup.hs
import Distribution.Simple
main = defaultMain
% cat Clue.cabal
... 
executable clue-tests
  ghc-options: -Wall -F -pgmF htfpp
  build-depends: QuickCheck, HTF
  main-is: Tests.hs
  hs-source-dirs: tests src
% runhaskell Setup.hs configure
Configuring Clue-0.1.0...
Setup.hs: At least the following dependencies are missing:
HTF -any

我在这里做错了什么?

有帮助吗?

解决方案

用户斜坡给出了很长的答案。

简短的答案是,如果您使用“ Cabal Configure”和“ Cabal Build”和“ Cabal build”和“ Cabal Install”,而不是'RunGHC Setup.hs Configure',那么一切都会更好。

其他提示

嘿,是 用常见问题覆盖!

RunGHC Setup.HS配置的默认值是 - global,但是Cabal Configure的默认值为 - 使用。全局软件包不能取决于用户软件包。因此,如果您使用Cabal程序来安装软件包,那么您也可以使用它来配置其他软件包。通常根本不需要使用runghc setup.hs。

如果您需要使用runghc setup.hs接口(例如,在某些系统构建脚本中),并且希望它从用户包db拾取软件包,然后使用-user标志。如果您经常必须使用runghc setup.hs界面并执行每个用户安装是一种痛苦,那么您可以在Cabal Config File(〜/。Cabal/config)中设置为gabal程序的默认值为全局安装。 。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top