missing module
可能是什么原因?
$ nix-shell -p haskellPackages.ghc -p haskellPackages.random
给出以下shell
[nix-shell:~]$ ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /data/works/dotfiles/ghci
Prelude> import System.Random
<no location info>: error:
Could not find module ‘System.Random’
It is not a module in the current program, or in any known package.
安装和使用Haskell软件包的nix
方式是什么?
我认为nixos.haskellPackages.<package>
会自动注册ghc但看起来并非如此。
重新安装shell中的random
,不要修复它。
[nix-shell:~]$ nix-env -iA nixos.haskellPackages.random
installing ‘random-1.1’
[nix-shell:~]$ ghc-pkg list | grep -i random
答案 0 :(得分:4)
我不知道为什么这不起作用的原因。但你可以尝试这个命令:
nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [random])"
适合我。现在ghci
看到了System.Random
个包。
<强>更新强>
这篇文章对于nix + haskell
冒险中的初学者非常有用:
http://alpmestan.com/posts/2017-09-06-quick-haskell-hacking-with-nix.html