web-dev-qa-db-ja.com

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を実行できます。

どちらのマシンもUbuntu16.04を実行しています。

4
5ndG

ここ から、この回避策を見つけました。 Nixコマンドを使用可能にするためのスクリプトは、~/.profileで提供されています。コマンドが非対話的に実行されたときにsshがnix-copy-closureをソースしないため、~/.profileで使用できない理由だと思います。追加する

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

サーバー上の~/.ssh/authorized_keysにある私のssh公開鍵(および同じ行)が問題を解決する前に。

nix-copy-closureがこれを自動的に処理しない理由を知りたいのですが。

3
5ndG