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

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

  •  11-10-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Пользовательский рамп дал длинный ответ.

Краткий ответ заключается в том, что если вы используете «Cabal Configure» и «Cabal Build» и «install Cabal» вместо «runghc setup.hs configure», все будет лучше.

Другие советы

Эй, это Покрыт в FAQ!

По умолчанию для runghc setup.hs configure -Global, но по умолчанию для Cabal Configure -USER. Глобальные пакеты не могут зависеть от пользовательских пакетов. Поэтому, если вы используете программу CABAL для установки пакетов, то вы также можете нам настройку других пакетов. Обычно нет необходимости использовать runghc setup.hs вообще.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top