作为一个非nix'er,我安装了最新版本的https://github.com/reflex-frp/reflex-platform 。我认为在这个 nix-shell 中工作是一次很好的体验。
现在我想知道这个 shell 中安装和使用了哪些版本的 Haskell 软件包。经过一番谷歌搜索后,我发现了一个如下形式的 nix-env 命令:
nix-env -f '<nixpkgs>' -qaPA haskellPackages|grep reflex-dom
此命令为我提供了 reflex-dom 的版本 reflex-dom-0.3。但我从here知道在我的 nix shell 中,我使用最新版本的 reflex-dom 0.4。所以我假设上面的命令只是列出了可用的 Hackage 包。
仅获取已安装的 Haskell 软件包及其版本的正确 nix-env -q 命令是什么?。
(我使用了 --installed 选项,但我从未得到任何返回)
最佳答案
您可以在进入 shell 后尝试 nix-store -q --references $out
。然而,这将在输出中混合 haskell 和非 haskell 依赖项。
这是应用了过滤器的完整示例:
$ nix-store -q --references $out\
|当读p时;做 du -a $p | grep -q ghc && 回显 $p;完毕
关于haskell - 尼克斯外壳 : How to list the installed Haskell package versions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854235/