执行nix flake update后nimPackages缺失报错,如何修复?
修复flake.nix中Nim包构建报错的问题
执行nix flake update后报错attribute 'nimPackages' missing,是因为nixpkgs-unstable更新后,Nim相关构建工具的命名结构发生了变化,原代码中的nim2Packages属性已被移除或整合。
修复步骤:
- 将原代码中的
pkgs.nim2Packages.buildNimPackage替换为顶级属性pkgs.buildNimPackage - 若需要指定使用Nim 2编译器,可在构建参数中添加
nim = pkgs.nim2;
修改后的完整flake.nix代码:
{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; in { packages = rec { hello = pkgs.buildNimPackage { pname = "hello"; version = "0.1.0"; src = ./hello; # 可选:指定使用Nim 2编译器 nim = pkgs.nim2; }; default = hello; }; }); }
修改后执行nix build即可正常构建。
内容的提问来源于stack exchange,提问作者MatrixManAtYrService
相关产品推荐
相关产品推荐

