You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nix中使用experimental命令?实操报错求助

解决Nix show-derivation 命令的实验特性与Flake错误问题

1. 永久启用nix-command实验特性

反复手动添加--extra-experimental-features参数效率低下,直接配置Nix默认启用该特性:

  • 创建或编辑~/.config/nix/nix.conf文件,写入以下内容:
    experimental-features = nix-command flakes
    
    (若仅需nix-command,可只保留该项;添加flakes是为兼容更多Nix命令场景)
  • 配置生效后,后续执行nix系列命令无需再手动指定实验特性参数。

2. 修复"找不到flake"的错误

该错误源于启用nix-command后,nix show-derivation默认会递归查找当前目录的Flake配置(如flake.nix),但查看单个derivation文件无需Flake上下文,可用以下两种方法解决:

方法一:直接传递drv路径作为参数

替代管道方式,直接指定目标drv文件:

# 手动指定drv路径示例
nix show-derivation /nix/store/xxxxxx-xxxxxx.drv

# 自动选取第一个drv文件
nix show-derivation $(ls /nix/store/*.drv | head -n 1)

方法二:禁用Flake查找逻辑

在命令中添加--no-write-lock-file参数,跳过Flake配置查找:

ls /nix/store/*.drv | head -n 1 | xargs nix show-derivation --no-write-lock-file

验证

执行上述任一方案后,即可正常查看目标derivation的JSON结构内容。

内容的提问来源于stack exchange,提问作者Pierre-olivier Gendraud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:20:28