Capistrano“没有tty存在且没有指定askpass程序”

时间:2015-06-23 22:37:57

标签: ruby-on-rails postgresql ubuntu capistrano

我正在运行cap production deploy并且在sudo: no tty present and no askpass program specified

之后我一直收到以下错误/usr/bin/env sudo mkdir -pv /home/[user]/apps/[app name] as [user@myIP]

我不知道如何解决这个问题。

Capfile:

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails/migrations'
require 'capistrano/passenger'
require 'capistrano/safe_deploy_to'
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

任何想法?

1 个答案:

答案 0 :(得分:16)

一个解决方案是allow the sudo command on your server without entering a password,但这可能会带来安全风险。

或者,您可以修复Capistrano配置,因为可能出现问题。如果您向我们展示了deploy.rb文件的内容会有所帮助,但我要做的第一件事就是确保default_run_options[:pty]中的true设置为deploy.rb。如果您错过了该行,请添加该行。

Capistrano 2

default_run_options[:pty] = true

Capistrano 3

set :pty, true