rvm和Capistrano没有一起工作:rvm_bin_path设置没有生效

时间:2013-10-20 20:20:46

标签: ruby-on-rails ruby rvm capistrano

我正在尝试为我的Rails项目设置Capistrano部署。服务器使用rvm。我需要脚本来运行bundle install,因此rvm需要与Capistrano一起使用。

当我运行“限制生产部署”时,我得到了这个 - 任何想法为什么?

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 / local / rvm / bin显示:

bundle                      rake                         ruby-1.9.3-p194         rvm-smile
erb-ruby-1.9.3-p194         rake-ruby-1.9.3-p194         ruby-1.9.3-p194@global  rvmsudo
erb-ruby-1.9.3-p194@global  rake-ruby-1.9.3-p194@global  rvm                     testrb-ruby-1.9.3-p194
gem-ruby-1.9.3-p194         rdoc-ruby-1.9.3-p194         rvm-auto-ruby           testrb-ruby-1.9.3-p194@global
gem-ruby-1.9.3-p194@global  rdoc-ruby-1.9.3-p194@global  rvm-exec
irb-ruby-1.9.3-p194         ri-ruby-1.9.3-p194           rvm-prompt
irb-ruby-1.9.3-p194@global  ri-ruby-1.9.3-p194@global    rvm-shell

和rvm list:

rvm rubies

=* ruby-1.9.3-p194 [ x86_64 ]

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

1 个答案:

答案 0 :(得分:4)

原来如此!结果是我的服务器上的“部署”用户添加到“rvm”组解决了问题。