【发布时间】:2018-02-03 19:53:27
【问题描述】:
这是我的 Keter 分支,其中包含通过 cabal2nix 生成的 *.nix 文件:https://github.com/bsima/keter/tree/nix
我在我的开发机器 (NixOS 17.09) 上执行了nix-build shell.nix,然后使用nix-copy-closure 将其放在 Digital Ocean 上的 VPS(也是 NixOS 17.09,通过 nix-infect)。
我创建了一个启动正常的 systemd 服务,但是在尝试为服务器创建一个进程后,Keter 死了:
2018-02-03 19:34:03.21: Data.Conduit.Process.Unix.monitorProcess: /opt/keter/temp/pprjam-0/dist/bin/pprjam: createProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
它找不到exec,我认为它应该是coreutils 的一部分。我怀疑 coreutils 是否丢失,但以防万一我把它放在我的 environment.systemPackages 中并重建,但它仍然没有工作。
所以这让我觉得这是$PATH 问题,或this issue(我不太明白,所以我假设它更有可能是$PATH 问题)。
为了帮助它在目标机器的$PATH 上找到exec,我需要在Keter 的default.nix 中做些什么吗?我在这里还缺少什么?
【问题讨论】: