2015-06-23 11 views
5

Tôi đang chạy cap production deploy và tôi tiếp tục nhận được lỗi sau sudo: no tty present and no askpass program specified sau /usr/bin/env sudo mkdir -pv /home/[user]/apps/[app name] as [[email protected]]Capistrano "Không tty hiện tại và không có chương trình askpass quy định"

Tôi không chắc chắn làm thế nào để sửa lỗi này.

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 } 

bất kỳ ý tưởng?

Trả lời

12

Một giải pháp sẽ là allow the sudo command on your server without entering a password, nhưng đó có thể là một nguy cơ bảo mật.

Hoặc, bạn có thể sửa cấu hình Capistrano của mình vì có thể có sự cố. Nó sẽ giúp nếu bạn cho chúng tôi thấy nội dung của tập tin deploy.rb nhưng điều đầu tiên tôi phải làm là đảm bảo rằng bạn có default_run_options[:pty] được đặt thành true trong deploy.rb. Hoặc thêm dòng nếu bạn đang thiếu nó.

Capistrano 2

default_run_options[:pty] = true 

Capistrano 3

set :pty, true 
+1

Lệnh này chỉ hoạt động trên capistrano 2, chứ không phải 3 – Marcus

+0

@Marcus thấy chỉnh sửa của tôi –

+5

Mật khẩu cho thấy như văn bản đơn giản và khi vào không có gì xảy ra –

Các vấn đề liên quan