gpt4 book ai didi

haskell - 我有哪个软件包版本?

转载 作者:行者123 更新时间:2023-12-04 08:05:30 25 4
gpt4 key购买 nike

人们应该认为这是一个常见问题解答,但我无法找到这个简单问题的答案:

我的 GHC 安装中有哪个版本的某个包?

背景

我正在尝试学习 Haskell,为了做到这一点,我正在努力学习 Real World Haskell .我现在已联系 chapter 11 ,除其他主题外,还介绍了 QuickCheck。

不幸的是,自 2009 年这本书出版以来,QuickCheck 发生了变化,并且似乎经历了各种修改。每当我寻找一种新的做事方式时,作为书中说明的替代品,新的方式有时也不起作用。也许“新方式”是在 2012 年描述的,但从那时到现在,QuickCheck 再次发生了变化。

最终,我将不得不从文档或源代码中弄清楚如何使用 QuickCheck,但是知道我应该研究哪个版本会非常有帮助。

我还没有达到了解 cabal 等的地步,所以我的问题完全是基于无知。希望有一个简单的答案。

我在 Windows 上使用 GHC,显然 QuickCheck 已经捆绑到我的安装中。我已经有 QuickCheck,但我不知道哪个版本。

最佳答案

使用 cabal info
您可以使用 cabal info <packagename>获取有关软件包的信息,包括当前安装的版本:

$ cabal info QuickCheck* QuickCheck       (library)    Synopsis:      Automatic testing of Haskell programs    Versions available: 1.1.0.0, 1.2.0.0, 1.2.0.1, 2.6, 2.7.4, 2.7.5, 2.7.6,                        2.8, 2.8.1 (and 24 others)    Versions installed: 2.8.1    Homepage:      https://github.com/nick8325/quickcheck    Bug reports:   mailto:quickcheck@projects.haskell.org    Description:   QuickCheck is a library for random testing of program                   properties.                   The programmer provides a specification of the program, in                   the form of properties which functions should satisfy, and                   ...

So all you have to do is to grep the "Versions installed":

$ cabal info QuickCheck | grep "Versions installed"
Versions installed: 2.8.1

在 Windows 上,您可以使用 findstr:
$ cabal info QuickCheck | findstr /C:"Versions installed"
Versions installed: 2.8.1

备注:如果没有 <packagename>已安装但仍想了解有关它的一些信息,您可能需要 cabal update第一的。

使用 ghc-pkg
如果您没有 cabal安装后,你仍然可以使用 GHC 的包管理器, ghc-pkg :
$ ghc-pkg list QuickCheck
C:\Program Files\MinGHC-7.8.4\ghc-7.8.4\lib\package.conf.d:
QuickCheck-2.8.1

但是,请注意 ghc-pkg不会承认 cabal 沙箱:
$ cabal sandbox init
$ cabal install QuickCheck
$ ghc-pkg list QuickCheck
C:\Program Files\MinGHC-7.8.4\ghc-7.8.4\lib\package.conf.d:
(no packages)

在这种情况下,您需要使用 ghc-pkg -f .\.cabal-sandbox\<platform>-packages.conf.dcabal exec :
$ ghc-pkg -f .\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d list QuickCheck 
.\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d:
QuickCheck-2.8.1

$ cabal exec -- ghc-pkg list QuickCheck
.\.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d:
QuickCheck-2.8.1

但是,由于您已经在使用 cabal ,您可以简单地使用 cabal info .

关于haskell - 我有哪个软件包版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com