Wie kann ich sagen, myproj.cabal Paketen zu benutzen und ich in ~ / .cabal installiert haben?
Frage
Ich versuche, eine myproj.cabal
Datei für mein Projekt zu schreiben, aber es scheint nicht, Pakete Ortung werden ich in ~/.cabal
installiert haben
% 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
Was mache ich hier falsch?
Lösung
User rampion hat die lange Antwort gegeben.
Die kurze Antwort ist, dass, wenn Sie ‚Kabale configure‘ und ‚Kabale Build‘ und ‚installieren Cabal‘ anstelle von ‚runghc Setup.hs configure‘ alles ausarbeitet schöner.
Andere Tipps
Hey, es ist in der FAQ abgedeckt
Der Standardwert für runghc Setup.hs configure ist --global, aber der Standard für Kabale configure ist --user. weltweit Pakete können hängen nicht von Benutzer Pakete. Also, wenn Sie die Kabalen verwenden Programm-Pakete zu installieren, dann sind Sie können wir es auch andere konfigurieren Pakete. Es ist in der Regel nicht brauchen verwenden runghc Setup.hs überhaupt.
Wenn Sie die runghc Setup.hs verwenden Schnittstelle (beispielsweise in einem gewissen System build Skripte) und Sie wollen es holen Pakete von Benutzerpaket db dann verwenden, um die --user Flagge. Wenn du bist ständig mit der runghc verwenden Setup.hs Schnittstelle und dabei pro Benutzer anbringt ist ein Schmerz, dann können Sie einstellen, die Standardeinstellung für das Kabalen Programm sein global installiert in der Clique Config Datei (~ / .cabal / config).