我正在尝试为我的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
答案 0 :(得分:4)
原来如此!结果是我的服务器上的“部署”用户添加到“rvm”组解决了问题。