Haskell 堆栈不在 Nixos 上构建 postgresql-libpq
Haskell Stack does not build postgresql-libpq on Nixos
将 postgresql-libpq 添加到我项目的 cabal 文件后,stack build 失败并显示以下内容:
Configuring postgresql-libpq-0.9.1.1...
setup: The program 'pg_config' is required but it could not be found.
我在 Nixos 上,pg_config 已安装并在我的 PATH 上:
$ whereis pg_config
pg_config: /nix/store/5bc6hzqkyw8dpi91sqznd3ik42mllwyz-system-path/bin/pg_config
我使用的是 stack 1.0.2,它似乎在 nixos-rebuild switch --upgrade 不稳定频道后也不会更新。这是我的错误还是其他原因?
我遇到了同样的问题,阅读 Michael Snoyman 链接的 docs 帮助了我。您需要将此添加到您的 stack.yaml:
nix:
enable: true
pure: false
我正在构建不属于我的包,所以我没有编辑项目特定的配置,而是将这些行添加到我的 global 配置中:~/.stack/config.yaml
。或者,您可以使用命令行选项:
stack --nix --no-nix-pure build
作为 "non-pure" 构建的替代方案,您应该能够在 nix-shell
中指定所有系统依赖项以强制再现,但我没有尝试过。
我 运行 在 nixos 上使用堆栈解决了这个问题,并且在我的 stack.yaml
的 nix 块更改为以下内容时解决了这个问题。
nix:
pure: true
enable: true
packages: [ postgresql ]
将 postgresql-libpq 添加到我项目的 cabal 文件后,stack build 失败并显示以下内容:
Configuring postgresql-libpq-0.9.1.1...
setup: The program 'pg_config' is required but it could not be found.
我在 Nixos 上,pg_config 已安装并在我的 PATH 上:
$ whereis pg_config
pg_config: /nix/store/5bc6hzqkyw8dpi91sqznd3ik42mllwyz-system-path/bin/pg_config
我使用的是 stack 1.0.2,它似乎在 nixos-rebuild switch --upgrade 不稳定频道后也不会更新。这是我的错误还是其他原因?
我遇到了同样的问题,阅读 Michael Snoyman 链接的 docs 帮助了我。您需要将此添加到您的 stack.yaml:
nix:
enable: true
pure: false
我正在构建不属于我的包,所以我没有编辑项目特定的配置,而是将这些行添加到我的 global 配置中:~/.stack/config.yaml
。或者,您可以使用命令行选项:
stack --nix --no-nix-pure build
作为 "non-pure" 构建的替代方案,您应该能够在 nix-shell
中指定所有系统依赖项以强制再现,但我没有尝试过。
我 运行 在 nixos 上使用堆栈解决了这个问题,并且在我的 stack.yaml
的 nix 块更改为以下内容时解决了这个问题。
nix:
pure: true
enable: true
packages: [ postgresql ]