0

Railsアプリを提供するためにnginxを使用したいと思います。rvmgemsetを使用してgemをセットアップしました。nginxにgemsetをロードするための指示から、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')
    puts rvm_lib_path.inspect
    $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

ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup' 

これはそれをしていないようです。したがって、デバッグしようとするENV['MY_RUBY_HOME']と、それは実際にはNilであり、したがってコードの最初のブロックも実行されないことがわかりました。なぜこれがゼロなのですか、そしてこれを修正するために何ができますか?

4

1 に答える 1

0

古い指示に従っています。https://rvm.io/integration/passenger/に再度アクセスして、次の適切なコードを使用してくださいconfig/setup_load_paths.rb

if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
  begin
    gems_path = ENV['MY_RUBY_HOME'].split(/@/)[0].sub(/rubies/,'gems')
    ENV['GEM_PATH'] = "#{gems_path}:#{gems_path}@global"
    require 'rvm'
    RVM.use_from_path! File.dirname(File.dirname(__FILE__))
  rescue LoadError
    raise "RVM gem is currently unavailable."
  end
end

# If you're not using Bundler at all, remove lines bellow
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'
于 2012-11-11T08:17:39.737 に答える