我的 M1 芯片是否拒绝我的 Nix Build 命令?

Kal*_*nte 6 build nixos nix macos-big-sur

我试图运行 Nix 命令来构建项目:

nix build -f default.nix plutus.haskell.packages.plutus-core.components.library

我收到了这个错误!

error: attribute 'aarch64-darwin' missing, at /nix/store/cyfj6bd0n0ckvkm67mhjyg1qcvrfgsg9-source/artifact.nix:11:10
Run Code Online (Sandbox Code Playgroud)

“aarch64-darwin”是指 64 位架构吗?

Max*_*itz 6

我遇到了同样的问题,我更改了 nix conf 以使用 x86_64-darwin 架构。所以基本上我编辑了 /etc/nix/nix.conf 并将其保留为这样:

substituters        = https://hydra.iohk.io https://iohk.cachix.org https://cache.nixos.org/
trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
# system = aarch64-darwin
system = x86_64-darwin
extra-platforms = x86_64-darwin aarch64-darwin
Run Code Online (Sandbox Code Playgroud)

刚刚运行:

nix-env -iA nixpkgs.nix
Run Code Online (Sandbox Code Playgroud)

加载与新架构相关的新 pkg。我使用的来源是: https://www.reddit.com/r/cardano/comments/mmzut6/macos_plutus_playground_build_instructions/ https://github.com/NixOS/nixpkgs/issues/95903#issuecomment-869041761


Rob*_*ing 2

您的 M1 芯片并未拒绝您的构建,但某些 Nix 表达式尚未为 M1 做好准备。

plutus由 IOHK iirc 编写,因此您可以向他们询问其软件的 M1 支持状态。如果他们还没有 GitHub 问题或相关的其他沟通,那么ls /nix/store/cyfj6bd0n0ckvkm67mhjyg1qcvrfgsg9-source在您报告问题时告诉他们输出(例如,作为错误消息的上下文)可能会有所帮助。我确信如果你提到这个错误,他们会愿意改进;无论如何,他们必须编辑该代码。