【发布时间】:2017-09-29 13:51:06
【问题描述】:
查看the 7th nix pill 中给出的示例,键入:b simple 构建了一个简短的c 程序的派生。在nix-repl
simple = derivation { name = "simple"; builder = "${bash}/bin/bash"; args = [ ./simple_builder.sh ]; gcc = gcc; coreutils = coreutils; src = ./simple.c; system = builtins.currentSystem; }
:b simple
编译源代码并生成包含simple-executable 的输出目录。
如果 c 源代码发生了一些变化,例如,我们想要输出“Simple?”,那么具有相同参数的相同推导似乎不起作用。
这是为什么,这是否意味着,即使 c 文件中的微小更改也必须为推导提供一个新名称 (?) -argument?
如果是这样,如何摆脱在 nix-repl 中使用 :b adrvn 进行的旧派生?
【问题讨论】:
-
“似乎不起作用”到底是什么意思?您是否尝试过重新运行定义
simple的长行代码? -
是的,重新运行并没有改变工作(似乎需要重新启动 nix-repl)。在尝试不同的东西来学习 nix-lang 时,我对此感到不确定。 Emmanuel Rosa 在下面给出了答案。
标签: nix