{ pkgs ? import {} }: pkgs.stdenv.mkDerivation rec { pname = "claude-code"; # 根据您之前的截图,我们锁定该版本以保证可复现性 version = "2.1.87"; # 直接从 GCS Bucket 抓取二进制文件,绕过 bash 脚本 src = pkgs.fetchurl { url = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/${version}/linux-x64/claude"; # 提示:首次构建时,您可以将 hash 填为 lib.fakeHash # Nix 会报错并告诉您正确的 SHA-256 哈希值,然后将其填入此处即可 hash = "sha256-saW4lGmGKt7g5NwoyrWoMUvE0BF+Gasmp7f/fOm1m9U="; }; # 引入 autoPatchelfHook 自动修复 ELF 文件的动态链接 nativeBuildInputs = [ pkgs.autoPatchelfHook ]; # 添加运行该二进制所需的常见 C 标准库 # 如果运行后提示缺失某些 .so 文件,可在此处追加对应的依赖包 buildInputs = with pkgs; [ stdenv.cc.cc.lib zlib ]; # 因为下载的是单一二进制文件,不需要解压源码 dontUnpack = true; # 安装阶段:将其放入 Nix 标准的 bin 目录下 installPhase = '' mkdir -p $out/bin cp $src $out/bin/claude chmod +x $out/bin/claude ''; meta = with pkgs.lib; { description = "Claude Code CLI"; homepage = "https://claude.ai"; platforms = platforms.linux; }; }