Rails phusion confusion - исходный файл отсутствует, но какой?как я могу узнать? - PullRequest
0 голосов
/ 04 декабря 2010

Я нахожу сообщение об ошибке в phusion очень запутанным, может быть, я не смотрю в нужных местах, но почти на каждую ошибку, с которой я сталкиваюсь, я получаю одно и то же сообщение.

Ищем некоторыеруководство!

Я подключился по SSH к серверу и запустил пакетную установку, просто чтобы убедиться, что мой capistrano пропустил шаг, я также сделал rake db: setup и rake db: migrate RAILS_ENV = production.

Это сообщение об ошибке кажется очень загадочным, я даже не вижу намека на то, какой файл отсутствует?

Я использую ubuntu, nginx, phusion, ree, вПриложение rails 3:

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_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

А мой boot.rb выглядит так:

требуется '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)    

1 Ответ

1 голос
/ 05 декабря 2010

Ошибка исходит от вашего config/setup_load_paths.rb. Я предполагаю, что вы используете этот файл для настройки пассажира с поддержкой RVM. Я также думаю, что он включает в себя два пакета, например:

require 'bundler'
require 'bundler/setup'
Bundler.setup

… который теперь должен быть просто:

require 'bundler'
Bundler.setup

Просто угадайте ... если это не так, отредактируйте и добавьте содержимое вашего setup_load_paths.rb в вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...