我剛剛將我的開發機器從rvm更改爲rbenv,但我的生產機器仍在使用rvm。現在,當我嘗試和部署我得到這個錯誤信息:capistrano不工作沒有rvm
cap deploy
/home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:152:in `require': no such file to load -- rvm/capistrano (LoadError)
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:152:in `require'
from ./config/deploy.rb:38:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:93:in `instance_eval'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:93:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:172:in `load_from_file'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:89:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `block in load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `each'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `load'
from Capfile:4:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:93:in `instance_eval'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:93:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:172:in `load_from_file'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:89:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `block in load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `each'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/configuration/loading.rb:86:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/cli/execute.rb:65:in `block in load_recipes'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/cli/execute.rb:65:in `each'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/cli/execute.rb:65:in `load_recipes'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/cli/execute.rb:31:in `execute!'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/lib/capistrano/cli/execute.rb:14:in `execute'
from /home/map7/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/capistrano-2.5.19/bin/cap:4:in `<top (required)>'
from /home/map7/.rbenv/versions/1.9.2-p290/bin/cap:19:in `load'
from /home/map7/.rbenv/versions/1.9.2-p290/bin/cap:19:in `<main>'
這裏是我的deploy.rb
require 'bundler/capistrano'
require 'thinking_sphinx/deploy/capistrano'
set :application, "myapp"
set :repository, "[email protected]:/home/myuser/myapp"
# Deployment options
set :deploy_to, "/home/remoteuser/myapp"
set :deploy_via, :copy
# Remote user info
set :user, "myuser"
set :use_sudo, false
default_run_options[:pty] = true
# Version control system
set :scm, :git
set :branch, "master"
# Add RVM's lib directory to the load path.
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
# Load RVM's capistrano plugin.
require "rvm/capistrano"
set :rvm_ruby_string, '1.9.2'
set :rvm_type, :user # Don't use system-wide RVM
...
我不希望有徹底改變服務器,我覺得如果我刪除rvm並在沒有版本控制系統的情況下安裝ruby,它會更好,但非常具有破壞性。
有沒有辦法解決這個錯誤,而無需更改服務器上的rvm和我的開發盒上的rbenv? 如果不是,我應該擺脫rvm並在服務器上使用rbenv?
你嘗試添加RVM作爲寶石?那麼你應該可以刪除'$ :. unshift(File.expand_path('./ lib',ENV ['rvm_path']))'stuff – phoet 2012-03-16 16:19:19
你說得對,我必須這樣做,並且在UTF-8上我的Gemfile的頂部相關的問題,ref:http://stackoverflow.com/questions/7146560/error-in-the-push-heroku-json-and-ruby-1-9-2 – map7 2012-03-18 03:03:20