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 не обрабатывает это автоматически.

Другие вопросы по тегам