2012-03-16 5 views
1

저는 개발 기계를 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 

... 

입니다 내가 크게 서버를 변경해야하고 싶지 않아 나는 느낌을 경우 I rvm을 제거하고 버전 관리 시스템없이 루비를 설치하면 더 좋지만 매우 파괴적입니다.

서버에서 rvm을 변경하고 내 devbox에서 rbenv없이이 오류를 수정하는 방법이 있습니까? 내가 rvm을 제거하고 서버에서 rbenv를 사용해야합니까?

+1

당신이 보석으로 RVM을 추가하려고 했습니까? '$ :. unshift (File.expand_path ('./ lib', ENV [ 'rvm_path']))'물건을 제거 할 수 있어야합니다. – phoet

+0

당신이 옳았어요. 관련 문제에 대한 내 Gemfile의 맨 위에있는 참조 : http://stackoverflow.com/questions/7146560/error-in-the-push-heroku-json-and-ruby-1-9-2 – map7

답변

0

당신은 시험에 RVM 코드를 포장해야합니다

if ENV['rvm_path'] 
    $:.unshift(File.expand_path('./lib', ENV['rvm_path'])) 
    require "rvm/capistrano" 
    set :rvm_ruby_string, '1.9.2' 
    set :rvm_type, :user 
end 

을 그리고 당신은 여전히 ​​생산에 deployin에 대한 RVM이 필요한 경우 :

  • 은 RVM
  • 제거 소싱 라인을 설치
  • ~/.bash_profile에 export rvm_path=/path/to/rvm을 설정하십시오.

나 :

  • 복제 자식 : //github.com/wayneeseguin/rvm.git
  • 가에서 export rvm_path=/path/to/rvm를 설정 ~/.bash_profile에
+0

서버에서 rvm을 사용하는 배포를 중단 하시겠습니까? – phoet

+0

아, 죄송합니다. 귀하의 질문을 이해하지 못했습니다. 내 업데이트를 확인하십시오. (프로덕션 환경에서는 RVM을 사용하는 두 가지 방법이 있지만 개발에는 포함되지 않았습니다) – mpapis

관련 문제