クライアントとサーバーでZshを使用しています。 SSHを使用してリモートサーバーでコマンドを実行すると、バイナリが見つかりません。
ssh gt "cd /home/****/app/staging && bundle exec rake db:migrate RAILS_ENV=staging"
zsh:1: command not found: bundle
対話型シェルを使用してSSHを使用すると、同じコマンドを正常に実行できます。
サーバーで$PATH
.zshrcと.zshenvに設定
編集する
bundle
サーバーの$ PATHにないようです。おそらくこれはRuby Version Manager(RVM)接続に関連している可能性があるため、ファイルが含まれているディレクトリに移動するとcd
Ruby環境が設定され、$ PATHに追加されます。非対話型シェルもこのフックをトリガーするかどうかを確認する必要があります。cd
.rvmrc
bundle
cd
ベストアンサー1
バイナリのあるパスが変数$PATH
に追加された可能性があります。ログインするとき。提供されたコマンドを実行すると、そのコマンドが渡されます。ログインしていませんシェル。この問題を解決する最も簡単で安全な方法は、この場合はフルパスを指定することです。