我正在尝试使用更改 netbeans 的版本这指导。我在我的里面使用 config.nix 表达式,/etc/configuration.nix
它是这样的:
nixpkgs.config = {
packageOverrides = pkgs: rec {
myNetbeans = pkgs.stdenv.lib.overrideDerivation pkgs.netbeans ( oldAttrs: {
name = "netbeans-8.1";
src = fetchurl {
url = ttp://download.netbeans.org/netbeans/8.1/final/zip/netbeans-8.1-201510222201.zip;
md5 = "361ce18421761a057bad5cb6cf7b58f4";
};
});
};
};
我相信我一切都正确,但无法找到 fetchurl 并且出现这些错误。
错误:/etc/nixos/configuration.nix:83:15 处未定义变量“fetchurl”(使用“--show-trace”显示详细位置信息)错误:/etc/nixos/configuration 处未定义变量“fetchurl”。 nix:83:15(使用“--show-trace”显示详细位置信息)构建系统配置...错误:/etc/nixos/configuration.nix:83:15 处未定义变量“fetchurl”(使用“ --show-trace' 显示详细的位置信息)
如何修复此错误并升级 netbeans?
答案1
你快到了。 fetchurl 变量仅在 pkgs 集的范围内存在/定义。这就是错误消息指出 fetchurl 变量未定义的原因。因此,只需从 pkgs 集的范围访问 fetchurl 属性,即pkgs.fetchurl
,与 的相同pkgs.netbeans
。
如果您需要访问一组属性中的大量属性,请使用和nix 语言构造(参考)。
PS,您需要更正 中的拼写错误url = http://
。