Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails phusion混乱-缺少源文件,但是哪一个?我怎么知道?_Ruby On Rails_Passenger - Fatal编程技术网

Ruby on rails Rails phusion混乱-缺少源文件,但是哪一个?我怎么知道?

Ruby on rails Rails phusion混乱-缺少源文件,但是哪一个?我怎么知道?,ruby-on-rails,passenger,Ruby On Rails,Passenger,我发现phusion的错误信息非常令人困惑,也许我没有找准正确的地方,但几乎我遇到的每一个错误都会得到同样的信息 正在寻找一些指导 我使用SSH连接到服务器,并运行捆绑安装,以确保我的capistrano错过了一个步骤,我还执行了rake db:setup和rake db:migrate RAILS\u ENV=production 这个错误消息看起来很离谱,我甚至看不到关于哪个文件丢失的提示 我在rails 3应用程序中运行ubuntu、nginx、phusion、ree: Error mes

我发现phusion的错误信息非常令人困惑,也许我没有找准正确的地方,但几乎我遇到的每一个错误都会得到同样的信息

正在寻找一些指导

我使用SSH连接到服务器,并运行捆绑安装,以确保我的capistrano错过了一个步骤,我还执行了rake db:setup和rake db:migrate RAILS\u ENV=production

这个错误消息看起来很离谱,我甚至看不到关于哪个文件丢失的提示

我在rails 3应用程序中运行ubuntu、nginx、phusion、ree:

Error message:
uninitialized constant Bundler
Exception class:
NameError
Application root:
/home/sshuser/domains/example.com/current
Backtrace:
#   File    Line    Location
0   /home/sshuser/domains/example.com/releases/20101205022037/config/boot.rb    9   
1   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `gem_original_require'
2   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `require'
3   /home/sshuser/domains/example.com/releases/20101205022037/config/application.rb 1   
4   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `gem_original_require'
5   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `require'
6   /home/sshuser/domains/example.com/releases/20101205022037/config/environment.rb 2   
7   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `gem_original_require'
8   /usr/local/rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb   31  in `require'
9   config.ru   3   
10  /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/rack-1.2.1/lib/rack/builder.rb   46  in `instance_eval'
11  /usr/local/rvm/gems/ree-1.8.7-2010.02/gems/rack-1.2.1/lib/rack/builder.rb   46  in `initialize'
12  config.ru   1   in `new'
13  config.ru
我的setup\u load\u path.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
我的boot.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
需要“rubygems”

# Set up gems listed in the Gemfile.
gemfile = File.expand_path('../../Gemfile', __FILE__)
begin
  ENV['BUNDLE_GEMFILE'] = gemfile
  require 'bundler'
  Bundler.setup
rescue Bundler::GemNotFound => e
  STDERR.puts e.message
  STDERR.puts "Try running `bundle install`."
  exit!
end if File.exist?(gemfile)    

错误来自您的
config/setup\u load\u path.rb
。我猜您使用此文件为乘客设置RVM支持。我还想它包括两个捆绑包,比如:

require 'bundler'
require 'bundler/setup'
Bundler.setup
…现在应该是:

require 'bundler'
Bundler.setup

猜猜看……如果不是这样的话,请编辑并将setup\u load\u paths.rb的内容放到问题中。

因此我假设您已经注释掉了较低的部分,而保留了第一部分。在您的服务器上,
bundle-v
说了什么?乘客使用的rvm gemset中是否有不同的版本?进入irb,执行“require bunder”时,我会得到相同的错误。如何在web应用程序中设置GEM_HOME?我从中获得了GEM_HOME潜在的解决方案:我的根目录中有一个.rvmrc,因此两者都使用相同的ruby+gemset。我运行的是rails 3.0.3 btw和REE