问题标签 [ghc-pkg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
253 浏览

haskell - 如何列出由 Haskell cabal 包安装的文件?

有没有办法列出Haskell cabal包安装的文件?换句话说:有没有办法列出与 Haskell 包关联的文件?

例如,在基于Debian的系统中,包括Ubuntu,可以使用dpkg -l列出所有包,并列出与dpkg -L package_name定包关联的文件

Arch Linux上,同样可以通过以下方式实现pacman -Ql package_name

最后,使用Python 的 PIP可以pip show -f package_name显示与 package 关联的文件package_name1

cabal有没有办法对通过使用cabalor安装的软件包执行上述操作ghc-pkg?我知道我可以使用ghc-pkg listor列出包cabal list --installed,但不能列出与特定包关联的文件。

0 投票
2 回答
556 浏览

haskell - 如何与 cabal-3 和 ghc(也是 ghc-pkg)一起工作?

随着 cabal-3 的发布,来自 Hackage 的软件包被安装在编译器一无所知的新ghc位置ghc-pkg。换句话说,软件包已安装但未注册ghc. Ghci, ghc,ghc-pkg不能工作。

例如,

创建文件 t1.hs

我们试试看:

此处描述了此错误

https://github.com/haskell/cabal/issues/6262

和这里

https://gitlab.haskell.org/ghc/ghc/-/issues/17341

我用作设置系统变量的临时解决方案

(Windwos 10,巧克力的 haskell-dev)

通过 在 Windows 上,使用 cabal 安装的软件包似乎在 ghc/ghci 中不可用

但随着更新,我将不得不手动更改此系统变量。

这个问题有没有更优雅的解决方案?

PS 不幸的是,这个解决方案(通过 GHC 的环境变量 GHC_PACKAGE_PATH)与 Cabal 不兼容 :(

https://github.com/haskell/cabal/issues/1944

0 投票
1 回答
1679 浏览

haskell - ghc-pkg:无法打开数据库进行修改:hLock:无效参数

我正在尝试behead.hs从 Ubuntu 20.04 (WSL1) 上的 pandoc 教程编译脚本。
stack exec -- ghc behead.hs我可以使用or成功编译它,
stack --resolver lts-16.25 exec -- ghc behead.hs
pandoc-types-1.20我需要它,pandoc-types-1.22所以我尝试
stack --resolver nightly-2020-12-07 exec -- ghc behead.hs
(最早的夜间功能pandoc-types-1.222020-09-20,失败并出现与以下相同的错误)

这产生:

由于--verbose我在这里粘贴的内容太多,但我很高兴提供 grep 结果。可能相关的摘录:

我目前无法在实际的 linux 机器上重现它,以查看我使用 WSL 的事实是否与问题相关。我可以在〜6小时内尝试。

复制文件:

我想了解为什么会发生这种情况,但更重要的是如何使用pandoc-types-1.22.

0 投票
0 回答
62 浏览

haskell - 在不破坏 ghc 的情况下升级包

在全局包数据库中,我有目录包的 1.3.6.0 版本,我想将 1.3.6.1 版本用于某些项目。但是在 ghc-8.10.1.conf 文件中有:depends: (...) directory-1.3.6.0。如何在不破坏 ghc-8.10.1 包的情况下升级目录包?

0 投票
0 回答
45 浏览

cabal - ghc-pkg:找不到包数据库

我正在尝试使用 cabal 可执行文件来构建一个项目cabal init,但它不起作用。

GHC 本身工作得很好,运行cabal --version不会抛出任何错误,也不会cabal update;但是,在运行时cabal init,会打印以下内容:

我正在使用 Powershell,但即使在提升的 cmd.exe 中它也会显示相同的错误。之后我又做cabal update了一次,但这并没有解决问题。

当我使用时也会弹出相同的消息cabal install(更具体地说,cabal install gi-gtk它在我的 .cabal 文件中列出,并在 cabal 包列表中列出)。

我将如何解决这个问题?这是我第一次使用 cabal,所以我不熟悉为什么这可能会导致问题。这不应该是因为我的 .cabal 文件有任何问题;我复制了教程GTK+ Programming with Haskell中的所有步骤