¿Cómo puedo saber myproj.cabal utilizar paquetes que lo he instalado en ~ / .cabal?

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

  •  11-10-2019
  •  | 
  •  

Pregunta

Estoy tratando de escribir un archivo myproj.cabal para mi proyecto, pero no parece ser la localización de los paquetes que he instalado en ~/.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é estoy haciendo mal aquí?

¿Fue útil?

Solución

rampion usuario ha dado la respuesta larga.

La respuesta corta es que si utiliza 'Cabal configure' y 'Cabal construir' y 'Cabal instalar' en lugar de 'runghc Setup.hs configure' todo saldrá mejor.

Otros consejos

Hey, es cubierta en el FAQ

El valor predeterminado para Setup.hs runghc Configurar se --global, pero por defecto para configurar Cabal es --user. Global paquetes no pueden depender de usuario paquetes. Así que si usted está utilizando la cábala programa para instalar paquetes, entonces También nos podemos configurar a otra paquetes. Generalmente, no hay necesidad de utilizar runghc Setup.hs en absoluto.

Si es necesario utilizar los Setup.hs runghc de interfaz (por ejemplo, en algunos sistema de construcción guiones) y desea que se recoja paquetes desde el PP paquete de usuario entonces usar la bandera --user. Si tu eres constantemente tener que utilizar el runghc Setup.hs interfaz y haciendo por usuario instalaciones es un dolor, entonces se puede establecer el valor por defecto para el programa cabal de se instala a nivel mundial en la cábala config archivo (~ / .cabal / config).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top