我正在编写一个小型Haskell程序,它需要导入两个模块Control.Functor.Algebra和Control.Morphism.Hylo。
我搜索了谷歌。这两个模块可以在类别-临时演员中找到。
所以我把category-extras添加到package.yaml中
dependencies:
- base >= 4.7 && < 5
- category-extras然后调用stack build,但是出现了错误:
E:\work-category-theory\quick-sort>stack build
Stack has not been tested with GHC versions above 8.6, and using 8.8.3, this may fail
Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this may fail
Error: While constructing the build plan, the following exceptions were
encountered:
In the dependencies for quick-sort-0.1.0.0:
category-extras needed, but the stack configuration has no specified
version (latest matching version is 1.0.2)
needed since quick-sort is a build target.
Some different approaches to resolving this:
* Recommended action: try adding the following to your extra-deps
in E:\work-category-theory\quick-sort\stack.yaml:
- category-extras-1.0.2@sha256:511a5668e05af6617d94080e866c9a496e0abd7625d961264755614a73b517f1,10259
Plan construction failed.按照提示,我将category-extras-1.0.2@sha256:511a5668e05af6617d94080e866c9a496e0abd7625d961264755614a73b517f1,10259添加到stack.yaml中的extra-deps中
extra-deps:
- category-extras-1.0.2@sha256:511a5668e05af6617d94080e866c9a496e0abd7625d961264755614a73b517f1,10259但仍然失败:
E:\work-category-theory\quick-sort>stack build
Stack has not been tested with GHC versions above 8.6, and using 8.8.3, this may fail
Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this may fail
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for category-extras-1.0.2:
categories needed, but the stack configuration has no specified version (latest matching version is 1.0.7)
comonad-extras needed, but the stack configuration has no specified version (latest matching version is 4.0.1)
comonad-transformers needed, but the stack configuration has no specified version (latest matching version is 4.0)
comonads-fd needed, but the stack configuration has no specified version (latest matching version is 4.0)
groupoids needed, but the stack configuration has no specified version (latest matching version is 4.0)
indexed-extras needed, but the stack configuration has no specified version (latest matching version is 0.2)
profunctor-extras needed, but the stack configuration has no specified version (latest matching version is 4.0)
representable-functors needed, but the stack configuration has no specified version (latest matching version
is 3.2.0.2)
representable-profunctors needed, but the stack configuration has no specified version (latest matching version
is 3.2)
needed due to quick-sort-0.1.0.0 -> category-extras-1.0.2
Some different approaches to resolving this:
* Recommended action: try adding the following to your extra-deps in E:\work-category-theory\quick-sort\stack.yaml:
- categories-1.0.7@sha256:e707f8ac06eac755cb508aa67de64ab2e33ce1c54aebb6f43f64c615aa5234f6,1636
- comonad-extras-4.0.1@sha256:60c93aa274239086d96d162c3c8bf7cde33a3e8470ecb56461b2f77d2625521e,1321
- comonad-transformers-4.0@sha256:cdc81f6837836ec4b120ced8503b54a7f1e230e08971cc01717dcd16ba1ceb28,831
- comonads-fd-4.0@sha256:92ed08f50f64aa9ce57214c9f0539e0244225ef4c934065dff819a751b89eeaf,817
- groupoids-4.0@sha256:7d26a2cc5e557773b565f2433b898d7472404a03bafde51fec5f4a7c7936812e,836
- indexed-extras-0.2@sha256:e7e498023e33016fe45467dfee3c1379862e7e6654a806a965958fa1adc00304,1349
- profunctor-extras-4.0@sha256:b436587378964546df3063dad44504fd698cce0f714ce089c1e3b499f063940d,874
- representable-functors-3.2.0.2@sha256:f15e598ca712171408d919803a48dcf786c94e9596a65336a3d66d0886ca60c5,1877
- representable-profunctors-3.2@sha256:d7d902ab21de5bcf9ceeb1b13529aa835a818dad00e75da999241508f89f85c2,786
Plan construction failed.按照提示,我继续在extra-deps中添加stack.yaml
extra-deps:
- category-extras-1.0.2@sha256:511a5668e05af6617d94080e866c9a496e0abd7625d961264755614a73b517f1,10259
- categories-1.0.7@sha256:e707f8ac06eac755cb508aa67de64ab2e33ce1c54aebb6f43f64c615aa5234f6,1636
- comonad-extras-4.0.1@sha256:60c93aa274239086d96d162c3c8bf7cde33a3e8470ecb56461b2f77d2625521e,1321
- comonad-transformers-4.0@sha256:cdc81f6837836ec4b120ced8503b54a7f1e230e08971cc01717dcd16ba1ceb28,831
- comonads-fd-4.0@sha256:92ed08f50f64aa9ce57214c9f0539e0244225ef4c934065dff819a751b89eeaf,817
- groupoids-4.0@sha256:7d26a2cc5e557773b565f2433b898d7472404a03bafde51fec5f4a7c7936812e,836
- indexed-extras-0.2@sha256:e7e498023e33016fe45467dfee3c1379862e7e6654a806a965958fa1adc00304,1349
- profunctor-extras-4.0@sha256:b436587378964546df3063dad44504fd698cce0f714ce089c1e3b499f063940d,874
- representable-functors-3.2.0.2@sha256:f15e598ca712171408d919803a48dcf786c94e9596a65336a3d66d0886ca60c5,1877
- representable-profunctors-3.2@sha256:d7d902ab21de5bcf9ceeb1b13529aa835a818dad00e75da999241508f89f85c2,786再次失败:
E:\work-category-theory\quick-sort>stack build
Stack has not been tested with GHC versions above 8.6, and using 8.8.3, this may fail
Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this may fail
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for representable-functors-3.2.0.2:
comonad-5.0.6 from stack configuration does not match >=3 && <4 (latest matching version is 3.1)
comonad-transformers-4.0 from stack configuration does not match >=3 && <4 (latest matching version is 3.1)
comonads-fd-4.0 from stack configuration does not match >=3 && <4 (latest matching version is 3.0.3)
containers-0.6.2.1 from stack configuration does not match >=0.3 && <0.6 (latest matching version is 0.5.11.0)
contravariant-1.5.2 from stack configuration does not match >=0.4.1 && <1 (latest matching version is 0.6.1.1)
free-5.1.3 from stack configuration does not match >=3 && <4 (latest matching version is 3.4.2)
mtl-2.2.2 from stack configuration does not match >=2.0.1.0 && <2.2 (latest matching version is 2.1.3.1)
semigroupoids-5.3.4 from stack configuration does not match >=3 && <4 (latest matching version is 3.1)
transformers-0.5.6.2 from stack configuration does not match >=0.2 && <0.4 (latest matching version is 0.3.0.0)
needed due to quick-sort-0.1.0.0 -> representable-functors-3.2.0.2
Some different approaches to resolving this:
* Set 'allow-newer: true' in C:\sr\config.yaml to ignore all version constraints and build anyway.
* Recommended action: try adding the following to your extra-deps in E:\work-category-theory\quick-sort\stack.yaml:
- comonad-3.1@sha256:95ab6440e380de06c6167f52a29903bee3e06295bb15598687305755eb1febd9,1635
- comonad-transformers-3.1@sha256:6641d4d5466a1e5e5b3863654d1df224c0980c332cf648b17ff148312bcf3f3b,1372
- comonads-fd-3.0.3@sha256:7fd04f220367fe8c0cd2b8c35ca15bc77a7d93a3d45f276435a094f9bdb44a60,1376
- containers-0.5.11.0@sha256:28ad7337057442f75bc689315ab4ec7bdf5e6b2c39668f306672cecd82c02798,16685
- contravariant-0.6.1.1@sha256:715c882354db424ed8b79518dab90e103a30a0ac64229f6cc86f0b3bb036c5dc,1493
- free-3.4.2@sha256:ddb52e32cb0e219e7d46b7021c7d1ec54797df878fd1b1ede0732bcacafdd9f0,2262
- mtl-2.1.3.1@sha256:a4283d5070cef5061aa8888c88baf50cd2db1904b254701321a93cf6c0835a11,1618
- semigroupoids-3.1@sha256:66c4375dabc33cff413ab5c1bc73c313fd2768ae21504b1cd1ac9aa8705529dd,3550
- transformers-0.3.0.0@sha256:4ec3dd53be60415dad46e00ec6c7f78bdc37dcda1670cf5abe5c480719b78b60,2318
Plan construction failed.好吧,我继续加上..。
- category-extras-1.0.2@sha256:511a5668e05af6617d94080e866c9a496e0abd7625d961264755614a73b517f1,10259
- categories-1.0.7@sha256:e707f8ac06eac755cb508aa67de64ab2e33ce1c54aebb6f43f64c615aa5234f6,1636
- comonad-extras-4.0.1@sha256:60c93aa274239086d96d162c3c8bf7cde33a3e8470ecb56461b2f77d2625521e,1321
- comonad-transformers-4.0@sha256:cdc81f6837836ec4b120ced8503b54a7f1e230e08971cc01717dcd16ba1ceb28,831
- comonads-fd-4.0@sha256:92ed08f50f64aa9ce57214c9f0539e0244225ef4c934065dff819a751b89eeaf,817
- groupoids-4.0@sha256:7d26a2cc5e557773b565f2433b898d7472404a03bafde51fec5f4a7c7936812e,836
- indexed-extras-0.2@sha256:e7e498023e33016fe45467dfee3c1379862e7e6654a806a965958fa1adc00304,1349
- profunctor-extras-4.0@sha256:b436587378964546df3063dad44504fd698cce0f714ce089c1e3b499f063940d,874
- representable-functors-3.2.0.2@sha256:f15e598ca712171408d919803a48dcf786c94e9596a65336a3d66d0886ca60c5,1877
- representable-profunctors-3.2@sha256:d7d902ab21de5bcf9ceeb1b13529aa835a818dad00e75da999241508f89f85c2,786
- comonad-3.1@sha256:95ab6440e380de06c6167f52a29903bee3e06295bb15598687305755eb1febd9,1635
- comonad-transformers-3.1@sha256:6641d4d5466a1e5e5b3863654d1df224c0980c332cf648b17ff148312bcf3f3b,1372
- comonads-fd-3.0.3@sha256:7fd04f220367fe8c0cd2b8c35ca15bc77a7d93a3d45f276435a094f9bdb44a60,1376
- containers-0.5.11.0@sha256:28ad7337057442f75bc689315ab4ec7bdf5e6b2c39668f306672cecd82c02798,16685
- contravariant-0.6.1.1@sha256:715c882354db424ed8b79518dab90e103a30a0ac64229f6cc86f0b3bb036c5dc,1493
- free-3.4.2@sha256:ddb52e32cb0e219e7d46b7021c7d1ec54797df878fd1b1ede0732bcacafdd9f0,2262
- mtl-2.1.3.1@sha256:a4283d5070cef5061aa8888c88baf50cd2db1904b254701321a93cf6c0835a11,1618
- semigroupoids-3.1@sha256:66c4375dabc33cff413ab5c1bc73c313fd2768ae21504b1cd1ac9aa8705529dd,3550
- transformers-0.3.0.0@sha256:4ec3dd53be60415dad46e00ec6c7f78bdc37dcda1670cf5abe5c480719b78b60,2318现在出现了一个新的错误:
E:\work-category-theory\quick-sort>stack build
The same package name is used in multiple local packages
comonad-transformers used in:
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "comonad-transformers", pkgVersion = mkVersion [3,1]
}) 6641d4d5466a1e5e5b3863654d1df224c0980c332cf648b17ff148312bcf3f3b,1372 (TreeKey ced3d6e9e6804e43646e6f8b23c8354808074a
403efeadc3e9befd628a78ea46,1116))
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "comonad-transformers", pkgVersion = mkVersion [4,0]
}) cdc81f6837836ec4b120ced8503b54a7f1e230e08971cc01717dcd16ba1ceb28,831 (TreeKey 1319b9d5039d6252803e684d0e42431867b20c9
03b49ddb6d5910b2b8eeb02e7,414))
comonads-fd used in:
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "comonads-fd", pkgVersion = mkVersion [3,0,3]}) 7fd0
4f220367fe8c0cd2b8c35ca15bc77a7d93a3d45f276435a094f9bdb44a60,1376 (TreeKey 7714b845bc4ba432b5b48054a45ba606ce72c7bfa2242
d3faed5387f8786e5b5,709))
- PLImmutable (PLIHackage (PackageIdentifier {pkgName = PackageName "comonads-fd", pkgVersion = mkVersion [4,0]}) 92ed08
f50f64aa9ce57214c9f0539e0244225ef4c934065dff819a751b89eeaf,817 (TreeKey 275c7b8e4336d289ef0f280260ac9da408f1b41bd2a49b1c
55699bfbf96c9c82,463))似乎有一些重复的包(comonad-transformers和comonads-fd)?
我移除较低的版本并重新构建它:
E:\work-category-theory\quick-sort>stack build
Stack has not been tested with GHC versions above 8.6, and using 8.8.3, this may fail
Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this may fail
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for cabal-doctest-1.0.8:
Cabal must match >=1.10 && <3.3, but the stack configuration has no specified version (latest matching version
is 3.2.0.0)
needed due to quick-sort-0.1.0.0 -> cabal-doctest-1.0.8
In the dependencies for distributive-0.6.2:
Cabal needed, but the stack configuration has no specified version (latest matching version is 3.2.0.0)
needed due to quick-sort-0.1.0.0 -> distributive-0.6.2
In the dependencies for hashable-1.3.0.0:
text must match >=0.12 && <1.3, but the stack configuration has no specified version (latest matching version
is 1.2.4.0)
needed due to quick-sort-0.1.0.0 -> hashable-1.3.0.0
In the dependencies for reducers-3.12.3:
text must match >=0.11.1.5 && <1.3, but the stack configuration has no specified version (latest matching version
is 1.2.4.0)
needed due to quick-sort-0.1.0.0 -> reducers-3.12.3
In the dependencies for transformers-0.3.0.0:
base-4.13.0.0 from stack configuration does not match >=2 && <4.8 (latest matching version is 4.7.0.2)
needed due to quick-sort-0.1.0.0 -> transformers-0.3.0.0
Some different approaches to resolving this:
* Build requires unattainable version of base. Since base is a part of GHC, you most likely need to use a different
GHC version with the matching base.
Plan construction failed.现在我完全糊涂了..。
为什么堆栈不能自动解析包的依赖关系?
有人能帮我吗?
非常感谢!
发布于 2020-04-20 17:31:56
引用评论:
是的,这是一个新项目(一个小项目)。我只是用代数,协代数和hylo来实现快速排序。我可以自己编写这些类型的构造函数和函数。干的时候,我发现这些包裹是从.
如果您只需要这个包,就像Joseph建议的那样切换到recursion-schemes,省去麻烦吧。也就是说,说一两句关于你注意到的安装困难的话不会有什么坏处。
category-extras是一个非常大且非常古老的库,很久以前,它被分成许多其他库。理想情况下,您只需安装部分或全部替换库,而完全忘记category-extras。不幸的是,Control.Functor.Algebra没有得到官方的替代,根据版本1.02文档中的替换列表 (在Control.Morphism.Hylo的例子中,至少有一些功能recursion-schemes)。这意味着您可能仍然希望实际使用category-extras。
无论如何,您绝对不希望安装category-extras-1.0.2,这是最新的版本。它只是一个元包,它不提供自己的代码,只需提取大量的替换包。此外,由于该版本是从2012年开始的,其中许多替换包本身也在此时被替换。
如果您真的必须使用category-extras,最好的选择可能是坚持使用category-extras-0.53.5.1 (我链接到0.53.5,因为0.53.5.1文档在黑客攻击中没有正确显示),这是拆分之前的最新版本。它依赖于mtl < 2,这很烦人,因为这是一个非常旧的包版本,几乎在任何地方都使用。此外,mtl-1.1.1有一个base < 4.6上界。这意味着需要GHC7.4.2或更高版本,因此需要用Stack安装它是行不通的。黑杯也帮不了什么忙(它支持的最早的GHC是7.10.3),所以您必须在VM中或使用其他策略来独立安装GHC7.4.2,以使其与通常的GHC版本不同。
https://stackoverflow.com/questions/61327636
复制相似问题