How can I tell Cabal which dependency to use?

三世轮回 提交于 2019-12-21 12:19:37

问题


I'm trying to get Cabal to install the haskell-src-meta package, and I'm having difficulty with the template-haskell dependency. The dependencies for haskell-src-meta include both

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

It so happens that template-haskell versions 2.7 and later will not install on my system, but template-haskell 2.5.0.0 will install.

When I'm asking Cabal to install haskell-src-meta, how do I tell it to use template-haskell == 2.5.0.0?


Here is the full information for cabal info haskell-src-meta on my system:

* 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 <haskell@benmachine.co.uk>
    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

回答1:


cabal install --constraint="template-haskell == 2.5.0.0" haskell-src-meta


来源:https://stackoverflow.com/questions/9657334/how-can-i-tell-cabal-which-dependency-to-use

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!