我正在尝试使用 Snap Web 框架开始一个新项目。我曾经snap init
让我的基本骨架工作。我还将http://www.stackage.org/lts/cabal.config放在我的 .cabal 文件旁边。我没有取消注释以专门使用 Stackage。所以我尝试构建,但失败了,找不到lens
我的 .cabal 文件所需的版本。Stackage 中的 cabal.config 文件指定的镜头版本与我的 .cabal 文件中的版本不同。因此,我从我的包列表中删除了所有约束,并照常cabal install --only-dep -j8 --enable-test
进行,它奏效了!
但是,我一直被告知包版本应该受到限制。那么在使用 Stackage 时,是否可以不受限制地保留包版本?我应该将我的包裹降级为 Stackage 中可用的包裹吗?
据我了解,cabal.config 文件指定了一组依赖项,其中包含满足依赖项的特定版本,那么 Stackage 是如何工作的呢?它只是被证明是兼容的 Hackage 软件包的一个子集吗?他们是托管自己的软件包还是依赖 Hackage 进行下载?
提前致谢 :)