我正在运行 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]
我不知道如何解决这个问题。

头文件:

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 }

有任何想法吗?

最佳答案

一种解决方案是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

关于ruby-on-rails - Capistrano "No tty present and no askpass program specified",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31014684/

10-16 20:28