在 NixOS 上找不到 curl-config

pal*_*lik 5 nixos

我正在尝试在 NixOS 17.09 上安装vim-now-haskell

安装失败,出现异常

*** Installer requires 'curl-config'. Please install and try again.
*** Aborting...
Run Code Online (Sandbox Code Playgroud)

不幸的是,搜索 NixOS 软件包没有列出任何curl-config. 它也没有安装在curl-7.56.1.

我简直不敢相信 NixOS 不提供curl-config. 因此,我在这里寻求帮助以找到它。

Rob*_*ing 5

它在curl.dev输出中。

$ ls $(nix-build --no-out-link '<nixpkgs>' -A curl.dev)/bin
curl-config
Run Code Online (Sandbox Code Playgroud)

这样做的原因是为了保持任何使用 curl 的东西的闭包尺寸都很小。通常 Nixpkgsstdenv.mkDerivation在处理buildInputs属性时会处理这些细节,但如果您不使用 Nixpkgs 来构建某些东西,您可能需要做更多的手动工作。

获取curl-config命令的另一种方法是nix-shell -p curl,它会启动一个在其环境中包含该命令的 shell。

[user@feb:~]$ nix-shell -p curl
[nix-shell:~]$ curl-config --version
libcurl 7.65.3
[nix-shell:~]$ exit
[user@feb:~]$ 
Run Code Online (Sandbox Code Playgroud)

NixPkgs 还有一个curlFull启用了更多功能的包,从运行时库输出的闭包中的包数量可以看出:

$ nix-store -q --requisites $(nix-build --no-out-link '<nixpkgs>' -A curl.out) | wc -l
6
$ nix-store -q --requisites $(nix-build --no-out-link '<nixpkgs>' -A curlFull.out) | wc -l
29
Run Code Online (Sandbox Code Playgroud)

因此,对于更强大的构建curl,请使用curlFull.dev.