capistrano: ошибка sudo после того, как до этого все работало нормально

Недавно я начал использовать capistrano в развертывании своего приложения на рельсах. У меня все работало нормально, а потом вдруг появилась эта ошибка

sorry, you must have a tty to run sudo

после каждого драгоценного камня, который он пытался установить. Я знаю, что эту проблему обычно можно решить, поместив набор :use_sudo, false в файл deploy.rb, но он у меня уже есть. И самое странное, что я вернул ВЕСЬ свой каталог обратно к тому моменту, когда я точно знаю, что capistrano работает, и он все еще выдает ту же ошибку.

Мой сервер работает под управлением CentOS

Так в чем может быть проблема? Любые идеи?


person yiinewbie    schedule 26.04.2012    source источник


Ответы (2)


Вы можете сказать cap создать pty для каждого процесса, добавив эту строку:

default_run_options[:pty] = true

to Capfile

person nyaa    schedule 27.04.2012

Для Capistrano 3 нужно добавить:

set :pty, true

в файл config/deploy.rb

person ajtrichards    schedule 24.01.2014
comment
будет запрашивать пароль? Я попробовал это, и когда я набираю пароль, он четко показывает пароль. - person Saad Masood; 11.08.2014
comment
Я использую ключи SSH, а не пароль - person ajtrichards; 11.08.2014
comment
хорошо, у меня тоже есть настроенные SSH-ключи. Он запрашивает пароль для следующих Command: ( RBENV_ROOT=/home/deployer/.rbenv RBENV_VERSION=2.1.2 /usr/bin/env sudo ln -nfs /home/deployer/apps/managewise_production/shared/config/nginx.conf /etc/nginx/sites-enabled/ ). - person Saad Masood; 11.08.2014
comment
что, если я хочу использовать команду с sudo. например, создание символических ссылок для nginx? Как бы я это сделал - person Saad Masood; 11.08.2014
comment
См. также это: blog.zenlinux.com/2008 /02/centos-5-configuration-tweak-for-sudo - person Andrea Salicetti; 23.06.2015