nix-copy-closure“未找到命令”错误

nix-copy-closure“未找到命令”错误

我正在尝试将 Nix 闭包复制到我的服务器,使用

nix-copy-closure [email protected] /nix/store/somelonghash-programname

但我明白

bash: nix-store: command not found
error: cannot connect to '[email protected]'

当我登录到服务器时,我可以运行并且它可以正常工作。ssh [email protected]nix-store --version

两台机器都运行 Ubuntu 16.04。

答案1

我找到了一个解决方法,来自这里。使 Nix 命令可用的脚本来源于~/.profile。我认为它们不可用的原因是ssh在非交互方式运行命令时nix-copy-closure不会提供源代码。添加~/.profile

command=". ~/.profile; if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then eval \"$SSH_ORIGINAL_COMMAND\"; else exec \"$SHELL\"; fi"

在我 ssh 公钥(并且在同一行)进入~/.ssh/authorized_keys服务器之前,这个问题就解决了。

我仍然想知道为什么nix-copy-closure不自动处理这个问题。

相关内容