2012-04-26 27 views
5

Gần đây tôi đã bắt đầu sử dụng capistrano trong triển khai ứng dụng đường ray của tôi. Nó đã làm việc tốt cho tôi và sau đó tất cả của một bất ngờ, tôi bắt đầu nhận được lỗi nàycapistrano: sudo lỗi sau khi nó đã được làm việc tốt trước khi

sorry, you must have a tty to run sudo 

sau mỗi đá quý nó cố gắng để cài đặt. Tôi biết vấn đề này thường có thể được giải quyết bằng cách đặt trong tập hợp :use_sudo, false trong tệp deploy.rb nhưng tôi đã có trong đó. Và điều kỳ lạ nhất là tôi đã hoàn nguyên thư mục ENTIRE của mình trở lại khi tôi biết chắc chắn rằng capistrano đang hoạt động và nó vẫn cho tôi lỗi tương tự.

Máy chủ của tôi đang chạy CentOS

Vậy vấn đề có thể là gì? Bất kỳ ý tưởng?

Trả lời

4

Bạn có thể nói với nắp để tạo ra một pty cho mỗi quá trình, bằng cách thêm dòng này:

default_run_options[:pty] = true

để Capfile

1

Đối Capistrano 3 bạn cần phải thêm:

set :pty, true

vào tệp config/deploy.rb

+0

nó sẽ nhắc mật khẩu? Tôi đã thử điều đó và khi tôi gõ rõ ràng của nó cho thấy mật khẩu. –

+0

Tôi cũng sử dụng các khóa SSH không phải là mật khẩu – ajtrichards

+1

tôi cũng đã thiết lập các khóa SSH. Nó yêu cầu mật khẩu cho lệnh sau đây: (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 /) '. –

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