2016-12-29 7 views
0

Если я stack unpack hakyll-4.9.2.0 я вижу в Кабал файлезависимости от проекта Haskell

Build-Depends: 
    base     >= 4.8 && < 5, 
    ... 
    If flag(checkExternal) 
    Build-depends: 
     http-conduit >= 2.2 && < 2.3, 

После выполнения stack init распознаватель выбранный lts-7.14, который содержит только http-conduit версии 2.1.11 (ср https://www.stackage.org/lts-7.14/package/http-conduit-2.1.11)

Однако это компилировать , а также stack list-dependencies --flag hakyll:checkExternal | grep -i http

... 
http-conduit 2.1.11 

, что удивительно.

Когда я изменяю распознаватель к nightly-2016-12-28 в stack.yaml, он показывает зависимость от

$ stack list-dependencies --flag hakyll:checkExternal | grep -i http 
http-conduit 2.2.3 

Есть ли объяснение, Что может идти здесь?

ответ

1

В Stack значение resolver полностью определяет, какие пакеты доступны. Изменение флажков никоим образом не влияет на то, какие версии пакетов могут использоваться.