Capistranoでデプロイ時にsudoを実行させたいときがある。
その時
sudo: sorry,you must have a tty to run sudo.
こんなエラーがでてしまってうまくいかない。
これはtty(端末)を持っていない状態でsudoしてるため。
そんな時は/etc/sudoersを編集。
$sudo visudo
/etc/sudoers
Defaults requiretty
この部分を以下のようにコメントアウト
/etc/sudoers
#Defaults requiretty
もしくは
/etc/sudoers
Defaults !requiretty
しかし特定のユーザーに対して許可することが望ましいので
/etc/sudoers
Defaults:'対象のユーザID' !requiretty