2011-12-28 3 views
2

내가 설정에 아파치 + Passenger3 + RVM와의 RoR 서버를 원하는,이 내 구성은아파치 2, 승객 3 RVM 설치

# Passenger Apache Integartion 
LoadModule passenger_module /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.11/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/[email protected]/gems/passenger-3.0.11 
PassengerRuby /usr/local/rvm/wrappers/[email protected]/ruby 

여기 내 .rvmrc

if [[ -s "/usr/local/rvm/gems/[email protected]" ]] ; then 
    . "/usr/local/rvm/gems/[email protected]" 
else 
    rvm --create use "[email protected]" 
fi 

myapp gemset되어 있습니다 모든 필수 보석이 포함되어 있으므로 지금은 environment.rb 파일에 보석 파일을로드해야합니다. require 'postmark-rails' 그리고 오류를 표시하고 있습니다 no such file to load -- postmark-rails (MissingSourceFile) 적절한 보석을로드하지 못하고 있음을 의미합니다. 그것을 파악하는 방법?

답변

3

.rvmrc 파일이 제대로 작동하지 않았습니다. 그래서 나는 밖으로 찾아서 .rvmrc 파일을 만드는 적절한 방법을 찾는다. 디렉토리 가정에서

이 적절한 .rvmrc 파일을 만들고이 명령을 rvm [email protected] --rvmrc --create

을 사용했다. 그런 다음이 응용 프로그램 레일에 대한 config/setup_load_paths.rb

if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm') 
    begin 
    rvm_path  = File.dirname(File.dirname(ENV['MY_RUBY_HOME'])) 
    rvm_lib_path = File.join(rvm_path, 'lib') 
    $LOAD_PATH.unshift rvm_lib_path 
    require 'rvm' 
    RVM.use_from_path! File.dirname(File.dirname(__FILE__)) 
    rescue LoadError 
    # RVM is unavailable at this point. 
    raise "RVM ruby lib is currently unavailable." 
    end 
end 

및 코드는 http://blog.ninjahideout.com/posts/the-path-to-better-rvm-and-passenger-integration에서 가져 레일 3

if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm') 
    begin 
    rvm_path  = File.dirname(File.dirname(ENV['MY_RUBY_HOME'])) 
    rvm_lib_path = File.join(rvm_path, 'lib') 
    $LOAD_PATH.unshift rvm_lib_path 
    require 'rvm' 
    RVM.use_from_path! File.dirname(File.dirname(__FILE__)) 
    rescue LoadError 
    # RVM is unavailable at this point. 
    raise "RVM ruby lib is currently unavailable." 
    end 
end 

# If we're using a Bundler 1.0 beta 
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__)) 
require 'bundler/setup' 

# Or Bundler 0.9... 
if File.exist?(".bundle/environment.rb") 
    require '.bundle/environment' 
else 
    require 'rubygems' 
    require 'bundler' 
    Bundler.setup 
end 

의 경우를이 코드를 넣어. 그것은 나의 문제를 해결했고 승객은 rvm과 아주 잘 작동하고 있습니다.