首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HaskellStack安装包以与GHC一起使用,而无需堆栈。

使用HaskellStack安装包以与GHC一起使用,而无需堆栈。
EN

Stack Overflow用户
提问于 2020-12-10 04:42:16
回答 2查看 432关注 0票数 0

我使用推荐的Haskell Stack在Windows10上安装GHC。我想我们的GHC没有所有的堆栈开销为Advent of Code。在我尝试获取extra包之前,它一直工作得很好。

我可以用Stack安装它,但是我似乎没有办法把它放到全局包数据库中。Haskell Stack显然没有安装cabal可执行文件,并且似乎将其锁定在他们的包数据库之外。

如何安装与vanilla GHC一起使用的extra包?

代码语言:javascript
复制
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
  | ^^^^^^^^^^^^^^^^^^^^^^
EN

回答 2

Stack Overflow用户

发布于 2020-12-10 04:58:07

我不知道stack是否支持安装到全局包DB。不过,cabal做到了:

代码语言:javascript
复制
$ 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> 
票数 -1
EN

Stack Overflow用户

发布于 2020-12-10 12:22:33

好的,如果你花了足够长的时间,stack可以安装cabal可执行文件。这个包被称为cabal-install,它不在任何解析器中,而是在黑客中。

代码语言:javascript
复制
stack install cabal-install

因为它不在解析器中,所以很有可能Cabal的版本不兼容。首先,询问stack它的全局配置保存在哪里

代码语言:javascript
复制
stack path --config-location

编辑该文件以允许extra-deps:堆栈下所需的依赖项将有助于告诉您它们是什么。当您使用该文件时,将该文件中的解析程序更改为较新版本也可能有所帮助。

现在试一下

代码语言:javascript
复制
stack install cabal-install

同样,如果这些指令自2020年12月以来没有过时,您将在某个潜在有用的地方获得cabal可执行文件。

在使用cabal之前,您必须运行一个cabal update来获取包列表。

在这一点上,卡巴尔应该操纵你的全局包数据库,stack可以一遍又一遍地安装GCH和它的所有库,如果你想将其用于项目的话。他们应该彼此保持距离。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65224579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档