nix-copy-closure "команда не найдена" ошибка
Я пытаюсь скопировать закрытие Nix на свой сервер, используя
nix-copy-closure user@server.com /nix/store/somelonghash-programname
но я получаю
bash: nix-store: command not found
error: cannot connect to 'user@server.com'
Когда я захожу на сервер с ssh user@server.com
я могу бежать nix-store --version
и это работает.
Обе машины работают под управлением Ubuntu 16.04.
1 ответ
Я нашел обходной путь для этого, отсюда. Сценарий для создания доступных команд Nix поставляется в ~/.profile
, Я думаю, что причина, по которой они недоступны nix-copy-closure
что SSH не источник ~/.profile
когда команды выполняются не в интерактивном режиме. Добавление
command=". ~/.profile; if [ -n \"$SSH_ORIGINAL_COMMAND\" ]; then eval \"$SSH_ORIGINAL_COMMAND\"; else exec \"$SHELL\"; fi"
перед моим открытым ключом SSH (и в той же строке) в ~/.ssh/authorized_keys
на сервере решает проблему для меня.
Я все еще хотел бы знать, почему nix-copy-closure
не обрабатывает это автоматически.