Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 同时使用stack、ghc mod和NixOS_Haskell_Haskell Stack_Nix_Ghc Mod - Fatal编程技术网

Haskell 同时使用stack、ghc mod和NixOS

Haskell 同时使用stack、ghc mod和NixOS,haskell,haskell-stack,nix,ghc-mod,Haskell,Haskell Stack,Nix,Ghc Mod,我在让所有这些工具协同工作时遇到了一些困难,我很想知道是否有人成功地做到了 我的主要问题如下:我有一些外部依赖项,它们在我的堆栈中。yaml如下所示: nix: enable: true packages: [curl, postgresql94, zlib] 这显然是由nix系统提供的。当我在当前的Main.hs上运行ghc mod type Main.hs 39 19时,我得到以下信息: EXCEPTION: types: <command line&g

我在让所有这些工具协同工作时遇到了一些困难,我很想知道是否有人成功地做到了

我的主要问题如下:我有一些外部依赖项,它们在我的
堆栈中。yaml
如下所示:

nix:
  enable: true
  packages: [curl, postgresql94, zlib]
这显然是由nix系统提供的。当我在当前的
Main.hs上运行
ghc mod type Main.hs 39 19
时,我得到以下信息:

EXCEPTION: types:
           <command line>: can't load .so/.DLL for: /home/user/.stack/snapshots/x86_64-linux-nix/lts-7.15/8.0.1/lib/x86_64-linux-ghc-8.0.1/postgresql-libpq-0.9.2.0-IWEdPrPraPeE94ud73Ope3/libHSpostgresql-libpq-0.9.2.0-IWEdPrPraPeE94ud73Ope3-ghc8.0.1.so (libpq.so.5: cannot open shared object file: No such file or directory)
异常:类型:
:无法加载/home/user/.stack/snapshots/x86_64-linux-nix/lts-7.15/8.0.1/lib/x86_64-linux-ghc-8.0.1/postgresql-libpq-0.9.2.0-IWEdPrPraPeE94ud73Ope3/libHSpostgresql-libpq-0.9.2.0-iwedprapee94ud73ope3-ghc8.0.1.1.so(libpq.so.5:无法打开共享对象文件:没有这样的文件或目录)
因此,它似乎很难加载这些外部依赖项


有什么想法可以继续吗?

您可以试试,这是专门为使用
堆栈而设计的。更困难的方法是为Nix打包
ghc mod
。@Mikkel:谢谢,但我是一个vim人:)已经有了一个用于ghc mod的Nix包,我不认为这是问题所在,或者可能我误解了你。我认为堆栈的Nix集成只在它内部使用的Nix shell中安装依赖项。您的ghc mod是否可能在这个shell之外运行,因此丢失了它需要的一些
LD\u LIBRARY\u路径
条目?