2012-07-19 66 views
4

執行Capistrano的錯誤

cap deploy:setup 

後,我得到這個錯誤

failed: "sh -c 'sudo -p '\\''sudo password: '\\'' mkdir -p /u/apps/blog /u/apps/blog/releases /u/apps/blog/shared /u/apps/blog/shared/system /u/apps/blog/shared/log /u/apps/blog/shared/pids'" on foobar.com 

這裏是我deploy.rb的內容

require 'capistrano' 


    # Account Settings 
    set :user, "user" 
    set :password, "pass" 
    set :domain, "foobar.com" 
    set :mount_path, "/" 
    set :application, "blog" 

    set :repository, "/Users/me/Desktop/project" 
    set :local_repository, "/Users/me/Desktop/project" 
    set :scm, :git 
    set :deploy_via, :copy 

    role :app, 'foobar.com' 
role :web, 'foobar.com' 

可能是什麼問題呢?

//編輯

*** [err :: foobar.com] stdin: is not a tty 
*** [err :: foobar.com] sudo: 
*** [err :: foobar.com] can't mkdir /var/db/sudo: No such file or directory 
*** [err :: foobar.com] sudo: 
*** [err :: foobar.com] no tty present and no askpass program specified 
failed: "sh -c 'sudo -p '\\''sudo password: '\\'' mkdir -p /u/apps/blog /u/apps/blog/releases /u/apps/blog/shared /u/apps/blog/shared/system /u/apps/blog/shared/log /u/apps/blog/shared/pids'" on foobar.com 
+0

它冗長與'蓋-v部署運行:setup'? – gmalette 2012-07-19 14:00:05

+0

請參閱編輯 – mojodro 2012-07-19 14:03:39

回答

24

此行添加到您的deploy.rb(例如set :application, "blog"後)

default_run_options[:pty] = true 

現在運行:

cap -v deploy:setup 

如果你不沒有sudo權限此行添加到deploy.rb

set :use_sudo, false 

你必須有權限創建/u/apps/blog目錄或改變部署文件夾:

set :deploy_to, "/home/user_name/apps/blog" 
+0

已經做到了,但看起來像capistrano想要sudo訪問。但我沒有這樣的。 – mojodro 2012-07-19 14:19:56

+0

看編輯答案 – rogal111 2012-07-19 14:28:22

+0

我得到mkdir:無法創建目錄'/ u':權限被拒絕 – mojodro 2012-07-19 14:31:01

0
# Default value for :pty is false 
set :pty, true