haskell 项目的依赖项
dependencies of a haskell project
如果我 stack unpack hakyll-4.9.2.0
我在 cabal 文件中看到
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
(cf 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
令人惊讶。
当我在 stack.yaml 中将解析器更改为 nightly-2016-12-28
时,它显示对
的依赖
$ stack list-dependencies --flag hakyll:checkExternal | grep -i http
http-conduit 2.2.3
是否有关于这里可能发生的事情的解释?
在 Stack 中,解析器值完全指定了哪些包可用。更改标志不会以任何方式影响可以使用的软件包版本。
如果我 stack unpack hakyll-4.9.2.0
我在 cabal 文件中看到
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
(cf 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
令人惊讶。
当我在 stack.yaml 中将解析器更改为 nightly-2016-12-28
时,它显示对
$ stack list-dependencies --flag hakyll:checkExternal | grep -i http
http-conduit 2.2.3
是否有关于这里可能发生的事情的解释?
在 Stack 中,解析器值完全指定了哪些包可用。更改标志不会以任何方式影响可以使用的软件包版本。