我使用推荐的Haskell Stack在Windows10上安装GHC。我想我们的GHC没有所有的堆栈开销为Advent of Code。在我尝试获取extra包之前,它一直工作得很好。
我可以用Stack安装它,但是我似乎没有办法把它放到全局包数据库中。Haskell Stack显然没有安装cabal可执行文件,并且似乎将其锁定在他们的包数据库之外。
如何安装与vanilla GHC一起使用的extra包?
John Miller@DESKTOP-NENAGQH MSYS /d/dev/AdventOfCode2020
$ stack ghc -- AoC/Utils.hs
[1 of 1] Compiling AoC.Utils ( AoC\Utils.hs, AoC\Utils.o )
John Miller@DESKTOP-NENAGQH MSYS /d/dev/AdventOfCode2020
$ ghc AoC/Utils.hs
[1 of 1] Compiling AoC.Utils ( AoC\Utils.hs, AoC\Utils.o ) [Data.List.Extra changed]
AoC\Utils.hs:3:1: error:
Could not find module `Data.List.Extra'
Use -v (or `:set -v` in ghci) to see a list of the files searched for.
|
3 | import Data.List.Extra
| ^^^^^^^^^^^^^^^^^^^^^^发布于 2020-12-10 04:58:07
我不知道stack是否支持安装到全局包DB。不过,cabal做到了:
$ cabal install --lib extra
Resolving dependencies...
Up to date
$ ghci
GHCi, version 8.10.2: https://www.haskell.org/ghc/ :? for help
Loaded package environment from /home/simon/.ghc/x86_64-linux-8.10.2/environments/default
Prelude> import Data.List.Extra
Prelude Data.List.Extra> 发布于 2020-12-10 12:22:33
好的,如果你花了足够长的时间,stack可以安装cabal可执行文件。这个包被称为cabal-install,它不在任何解析器中,而是在黑客中。
stack install cabal-install因为它不在解析器中,所以很有可能Cabal的版本不兼容。首先,询问stack它的全局配置保存在哪里
stack path --config-location编辑该文件以允许extra-deps:堆栈下所需的依赖项将有助于告诉您它们是什么。当您使用该文件时,将该文件中的解析程序更改为较新版本也可能有所帮助。
现在试一下
stack install cabal-install同样,如果这些指令自2020年12月以来没有过时,您将在某个潜在有用的地方获得cabal可执行文件。
在使用cabal之前,您必须运行一个cabal update来获取包列表。
在这一点上,卡巴尔应该操纵你的全局包数据库,stack可以一遍又一遍地安装GCH和它的所有库,如果你想将其用于项目的话。他们应该彼此保持距离。
https://stackoverflow.com/questions/65224579
复制相似问题