如何在nix中使用实验性命令?

问题描述 投票:0回答:2

就像这个教程我想看看推导。

ls /nix/store/*.drv | head -n 1 | nix show-derivation

实验性 Nix 功能“nix-command”被禁用;使用“--extra-experimental-features nix-command”来覆盖

我重试建议的更改

ls /nix/store/*.drv | head -n 1 | nix show-derivation --extra-experimental-features nix-command

错误:在“/mnt”处遇到文件系统边界之前无法找到碎片

nix
2个回答
6
投票

为了永久生效,请将以下行添加到您的配置文件“~/.config/nix/nix.conf

experimental-features = nix-command

如果conf文件不存在,则创建它。您可以附加其他实验性功能,例如薄片等。


1
投票

nix show-derivation
期望其输入作为命令行参数。

缺少任何输入,似乎默认查找薄片。

如果不是因为

*.drv
在我的商店中产生太多结果,这会起作用:

$ nix show-derivation --extra-experimental-features nix-command $(ls /nix/store/*.drv | head -n 1)
bash: /run/current-system/sw/bin/ls: Argument list too long

如果您有任何

.drv
文件,则此方法有效:

$ nix show-derivation --extra-experimental-features nix-command $(find /nix/store -maxdepth 1 -name '*.drv' | head -n 1)

如果没有任何

.drv
文件,
$(...)
不会产生任何参数,这将是获取错误消息的另一种方式。

© www.soinside.com 2019 - 2024. All rights reserved.