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