我正在尝试将 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
不自动处理这个问题。