Come posso dire myproj.cabal di utilizzare pacchetti che ho installato in ~ / .cabal?

StackOverflow https://stackoverflow.com/questions/4699865

  •  11-10-2019
  •  | 
  •  

Domanda

Sto cercando di scrivere un file myproj.cabal per il mio progetto, ma non sembra essere localizzare pacchetti ho installato in ~/.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

Che cosa sto facendo male qui?

È stato utile?

Soluzione

rampion utente ha dato la risposta lunga.

La risposta breve è che se si utilizza 'cabala configure' e 'cabala costruire' e 'Cabal install' invece di 'runghc Setup.hs configure' tutto si risolverà più bello.

Altri suggerimenti

Ehi, è coperto nelle FAQ

Il valore predefinito per Setup.hs runghc configure è --global, ma il default per configurare cabala è --user. Globale pacchetti non possono dipendere utente pacchi. Quindi, se si sta utilizzando la cabala programma per installare i pacchetti, allora si possiamo anche noi per configurare altri pacchi. Di solito non c'è bisogno di utilizzare runghc Setup.hs a tutti.

Se è necessario utilizzare i Setup.hs runghc interfaccia (ad esempio in alcuni costruzione del sistema script) e lo si vuole far salire pacchetti dal db foglietto poi utilizzare il flag --user. Se tu sei costantemente dover utilizzare il runghc Interfaccia Setup.hs e facendo per utente installazioni è un dolore, allora è possibile impostare il valore predefinito per il programma cabala a essere installazioni globali nel cabala config di file (~ / .cabal / config).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top