Comment puis-je savoir myproj.cabal utiliser les paquets que j'ai installés dans ~ / .cabal?
Question
Je suis en train d'écrire un fichier myproj.cabal
pour mon projet, mais il ne semble pas être paquets localiser j'ai installé dans ~/.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
Qu'est-ce que je fais mal ici?
La solution
raiponce utilisateur a donné la longue réponse.
La réponse courte est que si vous utilisez « cabale configure » et « cabale construire » et « cabale installer » au lieu de «runghc Setup.hs configure tout ira mieux.
Autres conseils
Hé, il est couvert dans la FAQ
La valeur par défaut pour runghc Setup.hs configure est --global, mais la valeur par défaut pour configurer cabale est --user. Global les paquets ne peuvent pas dépendre utilisateur paquets. Donc, si vous utilisez la cabale programme pour installer des paquets, vous peut aussi nous pour configurer d'autres paquets. Il n'y a généralement pas besoin de utiliser runghc Setup.hs du tout.
Si vous avez besoin d'utiliser les Setup.hs runghc interface (par exemple, dans certaines construction du système scripts) et vous voulez qu'il ramasser les paquets du paquet utilisateur db alors utiliser le drapeau --user. Si vous êtes ayant constamment à utiliser le runghc Interface Setup.hs et de faire par utilisateur est une douleur installations vous pouvez ensuite définir la valeur par défaut pour le programme Cabal être installe dans la configuration globale cabale fichier (~ / .cabal / config).