Как я могу сказать myproj.cabal использовать пакеты, которые я установил в ~ / .cabal? - PullRequest
2 голосов
/ 15 января 2011

Я пытаюсь написать файл 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

Что я здесь не так делаю?

Ответы [ 2 ]

4 голосов
/ 16 января 2011

Пользователь rampion дал длинный ответ.

Короткий ответ: если вы используете «cabal configure», «cabal build» и «cabal install» вместо «runghc Setup.hs configure», все будетпотренируйся лучше.

1 голос
/ 15 января 2011

Эй, это в разделе часто задаваемых вопросов !

По умолчанию для runghc Setup.hs настроить --global, но по умолчанию для клики настроить --user. Глобальный пакеты не могут зависеть от пользователя пакеты. Так что, если вы используете клику программа для установки пакетов, то вы можно и нам его настроить другим пакеты. Там обычно нет необходимости использовать runghc Setup.hs вообще.

Если вам нужно использовать runghc Setup.hs интерфейс (например, в какой-то сборке системы скрипты) а ты хочешь подобрать пакеты из пользовательского пакета дБ затем используйте флаг --user. Если вы постоянно приходится использовать runghc Интерфейс Setup.hs и делать для каждого пользователя установка это боль, то вы можете установить по умолчанию для кабальной программы быть глобальным устанавливает в конфигурации Cabal файл (~ / .cabal / config).

...