2012-03-11 4 views
6

Я пытаюсь получить Cabal для установки пакета haskell-src-meta, и у меня возникают трудности с зависимостью template-haskell. Зависимости для haskell-src-meta включают какКак я могу сказать Cabal, какую зависимость использовать?

template-haskell >=2.7 && <2.9, 
template-haskell >=2.4 && <2.7, 

Так получилось, что template-haskell версии 2.7 и более поздних версий не будет устанавливать на моей системе, но template-haskell 2.5.0.0 установит.

Когда я прошу Cabal установить haskell-src-meta, , как я могу использовать его для использования template-haskell == 2.5.0.0?


Вот полная информация cabal info haskell-src-meta на моей системе:

* haskell-src-meta (library) 
    Synopsis:  Parse source to template-haskell abstract syntax. 
    Latest version available: 0.5.1 
    Latest version installed: [ Not installed ] 
    Homepage:  [ Not specified ] 
    Bug reports: https://github.com/benmachine/haskell-src-meta/issues 
    Description: The translation from haskell-src-exts abstract syntax to 
        template-haskell abstract syntax isn't 100% complete yet. 
    Category:  Language 
    License:  BSD3 
    Author:  Matt Morrow 
    Maintainer: Ben Millwood <[email protected]> 
    Source repo: git://github.com/benmachine/haskell-src-meta.git 
    Flags:   new-th 
    Dependencies: base >=4.2 && <4.6, haskell-src-exts >=1.8 && <1.12, 
        pretty >=1.0 && <1.2, syb >=0.1 && <0.4, th-lift ==0.5.*, 
        template-haskell >=2.7 && <2.9, 
        template-haskell >=2.4 && <2.7, uniplate >=1.3 && <1.7 
    Cached:  No 
    Modules: 
     Language.Haskell.Meta 
     Language.Haskell.Meta.Parse 
     Language.Haskell.Meta.Parse.Careful 
     Language.Haskell.Meta.Syntax.Translate 
     Language.Haskell.Meta.Utils 
     Language.Haskell.TH.Instances.Lift 

ответ

9
cabal install --constraint="template-haskell == 2.5.0.0" haskell-src-meta 
+0

Brilliant! Работает отлично. Как я мог открыть это? Я прополз по всему Руководству пользователя, без успеха ... –

+1

Я знаю, что это грязно, но 'cabal install --help' имеет ряд полезных элементов. Cabal, несмотря на все его небольшие проблемы, имеет приличную документацию в разделе '∀ COMMAND. cabal COMMAND --help' –