sudoコマンドに-Hフラグがないと、HOMEがsudoユーザー名ではなくSSHユーザー名に設定されているため、sudoを介して実行したときにpipの呼び出しが失敗する可能性があります。 これは、たとえば、パッケージのビルドが失敗した場合にエラーログを書き込むために必要です。
これをデフォルトで設定するか、リモートsudoコマンドで有効にする引数をsudo()に指定します。
私もこれに噛まれました。 ubuntuのデフォルトのsudoersファイルで「env_reset」が設定されているにもかかわらず、HOMEがsudo先のユーザーに設定されていません...ファブリック自体に到達する前に、常に「-H」オプションを設定する簡単な方法があります。 fabfileの上部近くに、次のように設定します。
env['sudo_prefix'] += '-H '
これを#503に折りたたむつもりですが、2倍の議論をする意味はありません。
@tobiasmcnultyと@ reinout #503 reについてコメントがあります: -i
代わりに-H
-i
使用します。フィードバックがある場合は、いくつか残してください:)
最も参考になるコメント
私もこれに噛まれました。 ubuntuのデフォルトのsudoersファイルで「env_reset」が設定されているにもかかわらず、HOMEがsudo先のユーザーに設定されていません...ファブリック自体に到達する前に、常に「-H」オプションを設定する簡単な方法があります。 fabfileの上部近くに、次のように設定します。