Configuration.nix에서 packageOverride를 사용하여 netbeans를 업그레이드하는 방법은 무엇입니까?

Configuration.nix에서 packageOverride를 사용하여 netbeans를 업그레이드하는 방법은 무엇입니까?

다음을 사용하여 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을 찾을 수 없어 이러한 오류가 발생합니다.

오류: 'fetchurl' 변수는 /etc/nixos/configuration.nix:83:15에 정의되어 있지 않습니다(자세한 위치 정보를 표시하려면 '--show-trace' 사용) 오류: 'fetchurl' 변수가 /etc/에 정의되어 있지 않습니다. nixos/구성 . nix:83:15(자세한 위치 정보를 표시하려면 "--show-trace" 사용) 시스템 구성 구축 중... 오류: "fetchurl" 변수가 /etc/nixos/configuration.nix:83:15에 정의되어 있지 않습니다(사용 "- -show-trace'는 자세한 위치 정보를 표시합니다.)

이 오류를 수정하고 netbeans를 업그레이드하는 방법은 무엇입니까?

답변1

거의 다 왔습니다. fetchurl 변수는 pkgs 세트 범위 내에서만 존재하거나 정의됩니다. 그렇기 때문에 fetchurl 변수가 정의되지 않았다는 오류 메시지가 표시됩니다. 따라서 pkgs 세트의 범위, 즉 에서 fetchurl 속성에 액세스하면 pkgs.fetchurl됩니다 pkgs.netbeans.

속성 집합 내에서 많은 수의 속성에 액세스해야 하는 경우 다음을 사용하세요.그리고nix 언어 구성(인용하다).

PS, 오타를 수정해야 합니다 url = http://.

관련 정보