2

我正在尝试为我的 Rails 项目设置 Capistrano 部署。服务器使用 rvm。我需要脚本来运行捆绑安装,因此需要 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'

和宝石文件:

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 列表:

rvm rubies

=* ruby-1.9.3-p194 [ x86_64 ]

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

1 回答 1

4

所以!结果将我的服务器上的“部署”用户添加到“rvm”组解决了这个问题。

于 2013-10-20T22:18:38.907 回答