リモートサーバーのホームディレクトリにインストールしたコマンドを実行しようとしています。.bash_profileの$PATHにすでに追加されています。通常のsshセッションを介してリモートでログインすると使用できますが、Fabricが$PATHを取得していないようです。したがって、次のように、Fabricのパスコンテキストマネージャーを使用して$PATHに追加しようとしました。
def test_path():
print('My env.path setting: %(path)s' % env)
with path('/path/to/sources/drush'):
run('echo $PATH')
run('drush')
ファブリックは次のように応答します。
Executing task 'test_path'
My env.path setting:
run: echo $PATH
out: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
out:
run: echo $PATH
out: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/path/to/sources/drush
out:
run: drush
out: /bin/bash: drush: command not found
out:
Fatal error: run() received nonzero return code 127 while executing!
Requested: drush
Executed: /bin/bash -l -c "export PATH=\"\$PATH:\"/path/to/sources/drush\" \" && drush"
Aborting.
見てくれてありがとう...