我正在尝试为我的项目编写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
我在这里做错了什么?
答案 0 :(得分:4)
用户猖獗已经给出了很长的答案。
简短的回答是,如果你使用'cabal configure'和'cabal build'和'cabal install'而不是'runghc Setup.hs configure',那么一切都会更好。
答案 1 :(得分:1)
嘿,这是covered in the FAQ!
runghc Setup.hs的默认值 configure是--global,但是默认值 对于cabal配置是--user。全球 包不能依赖于用户 包。所以,如果你正在使用阴谋集团 程序安装包,然后你 也可以我们配置其他 包。通常没有必要 完全使用runghc Setup.hs.
如果您需要使用runghc Setup.hs 接口(例如在某些系统构建中) 脚本),你想要它拿起来 然后来自用户包db的包 使用--user标志。如果你是 经常不得不使用梯级 Setup.hs接口和每个用户做 安装是一个痛苦,然后你可以设置 cabal程序的默认值 在cabal配置中进行全局安装 文件(〜/ .cabal / config)。