2012-04-26 10 views
5

我最近開始在我的rails應用程序部署中使用capistrano。這是工作對我罰款,然後突然間,我開始收到此錯誤capistrano:sudo錯誤後,它一直工作正常

sorry, you must have a tty to run sudo 

它試圖安裝的每一個寶石後。我知道這個問題通常可以通過在deploy.rb文件中設置:use_sudo, false來解決,但我已經在那裏。最奇怪的是,當我知道卡皮斯特拉諾正在工作並且仍然給我同樣的錯誤時,我將我的整個目錄恢復到了原來的狀態。

我的服務器運行CentOS的

但是,是什麼問題可能會被怎麼引起的?有任何想法嗎?

回答

4

你可以告訴帽創建PTY每個進程,加入這一行:

default_run_options[:pty] = true

Capfile

1

對於Capistrano的3,您需要添加:

set :pty, true

至文件config/deploy.rb

+0

它會提示輸入密碼嗎?我試過,當我輸入它清楚地顯示密碼。 – 2014-08-11 09:35:51

+0

我使用SSH密鑰而不是密碼 – ajtrichards 2014-08-11 09:46:42

+1

我也設置了SSH密鑰。它要求輸入以下命令的密碼:(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 /)'。 – 2014-08-11 10:17:36

相關問題