2013-10-20 104 views
2

我正在嘗試爲我的Rails項目設置Capistrano部署。服務器使用rvm。我需要該腳本來運行軟件包安裝,因此需要rvm與Capistrano一起工作。rvm和Capistrano不能一起工作:rvm_bin_path設置不起作用

當我運行「cap production deploy」時,我得到了這個 - 任何想法爲什麼?

INFO [a5b60a00] Running /usr/local/rvm/bin/rvm wrapper system coupons bundle gem rake ruby on mydomain.com 
DEBUG [a5b60a00] Command: /usr/local/rvm/bin/rvm wrapper system coupons bundle gem rake ruby 
DEBUG [a5b60a00] No bin path suitable for lining wrapper. Try setting 'rvm_bin_path'. 
cap aborted! 
rvm stdout: Nothing written 
rvm stderr: Nothing written 
/Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/sshkit-1.1.0/lib/sshkit/command.rb:94:in `exit_status=' 
/Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/sshkit-1.1.0/lib/sshkit/backends/netssh.rb:125:in `block (4 levels) in _execute' 
/Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:551:in `call' 
/Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:551:in `do_request' 
... 

我有這樣的deploy.rb:

set :rvm_ruby_string, 'ruby-1.9.3-p194' 
set :rvm_bin_path, '/usr/local/rvm/bin' 
set :rvm_type, :system 

和Capfile:

require 'capistrano/rvm' 
require 'capistrano/bundler' 
require 'capistrano/rails/assets' 
require 'capistrano/rails/migrations' 

和Gemfile中:

gem 'capistrano' 
gem 'capistrano-rails' 
gem 'capistrano-rvm' 
gem 'capistrano-bundler' 

LS的/ usr /本地/ RVM/bin顯示:

bundle      rake       ruby-1.9.3-p194   rvm-smile 
erb-ruby-1.9.3-p194   rake-ruby-1.9.3-p194   [email protected] rvmsudo 
[email protected] [email protected] rvm      testrb-ruby-1.9.3-p194 
gem-ruby-1.9.3-p194   rdoc-ruby-1.9.3-p194   rvm-auto-ruby   [email protected] 
[email protected] [email protected] rvm-exec 
irb-ruby-1.9.3-p194   ri-ruby-1.9.3-p194   rvm-prompt 
[email protected] [email protected] rvm-shell 

和RVM列表:

rvm rubies 

=* ruby-1.9.3-p194 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 
+0

你有沒有嘗試過:'bundle exec cap production deploy'? – ipd

回答

4

所以!事實證明,將我的服務器上的「部署」用戶添加到「rvm」組解決了問題。

+0

這是使用RVM的記錄方式,不是嗎? –

+0

我想。顯然我沒有RTFM。 –