Проблема с запуском Mongrel с Rails3 и Ruby 1.8.7

Я запускаю экземпляр Linux. Мой вопрос такой же, как LoadError при запуске Mongrel с Rails3 и Ruby 1.9.2, за исключением того факта, что я использую Ruby 1.8.7 и Linux.

Вот содержимое mongrel_cluster.log:

** Starting Rails with development environment...
/usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require': no such file to load -- dispatcher (LoadError)
        from /usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require'
        from /usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:225:in `load_dependency'
        from /usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:596:in `new_constants_in'
        from /usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:225:in `load_dependency'
        from /usr/lib64/ruby/gems/1.8/gems/activesupport-3.0.8/lib/active_support/dependencies.rb:239:in `require'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:148:in `rails'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:113:in `cloaker_'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `call'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `listener'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:99:in `cloaker_'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `call'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `initialize'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `new'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `run'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
        from /usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
        from /usr/bin/mongrel_rails:19:in `load'
        from /usr/bin/mongrel_rails:19

Я в недоумении, как это исправить.

Может кто-нибудь помочь, пожалуйста? ТИА


person VJ Vélan Solutions    schedule 11.06.2011    source источник
comment
Нам нужно увидеть ваш список драгоценных камней. Разместите его здесь: pastebin.com   -  person Cory    schedule 11.06.2011
comment
@Кори. Я вставил список драгоценных камней в предоставленную вами веб-ссылку. Пожалуйста, дайте мне знать, если вы получили его. Спасибо.   -  person VJ Vélan Solutions    schedule 12.06.2011
comment
Вам нужно будет предоставить ссылку на вставку, иначе мы ее не увидим.   -  person Cory    schedule 12.06.2011


Ответы (1)


Что возвращает gem list?

Как выглядит ваш Gemfile?

Вы пробовали переустановить Rails?

Рассмотрите возможность использования RVM и Gemset для каждого проекта, чтобы вы могли изолировать конфликты гемов.

http://nerian.github.com/2011/01/15/RPS-1-RVM.html

person Nerian    schedule 11.06.2011
comment
@Nerian, список драгоценных камней слишком длинный, чтобы вставлять его сюда. но включает в себя рельсы (3.0.8), дворнягу (1.1.5), rubygems-update (1.8.5), rvm (1.6.20). У меня только что были строки gem 'rails', '3.0.8' и gem 'pg' в Gemfile. Я попытался добавить гем «монгрел» в Gemfile и сделал пакетное обновление — не помогло. Нет, я не пробовал переустанавливать Rails. Как мне это сделать? Используя команду gem? Спасибо. - person VJ Vélan Solutions; 11.06.2011
comment
@Nerian, я удалил рельсы из драгоценного камня и установил рельсы из драгоценного камня - эффективно переустановил рельсы. это тоже не помогло. я продолжаю видеть тот же журнал ошибок. благодаря. - person VJ Vélan Solutions; 11.06.2011
comment
@user: Вы используете RVM? Тогда почему ошибка говорит /usr/lib64/ruby/gems/1.8/. Если вы используете RVM, он должен вывести папку внутри ~/.rvm. Вы уверены, что используете ruby, установленный RVM? Что возвращает which ruby? - person Nerian; 11.06.2011
comment
@user: Значит, вы не используете RVM. У вас есть что-то вроде этого [[ -s $HOME/.rvm/scripts/rvm ]] && . $HOME/.rvm/scripts/rvm в вашем .bash_profile? - person Nerian; 12.06.2011
comment
@Nerian, нет, у меня есть эта строка в моем .bash_profile. export LD_LIBRARY_PATH [[ -s /home/ec2-user/.rvm/scripts/rvm ]] && source /home/ec2-user/.rvm/scripts/rvm # Это загружает RVM в сеанс оболочки. Позвольте мне попробовать следовать вашим инструкциям в блоге, который вы вставили ранее, и посмотреть, поможет ли это. Спасибо. - person VJ Vélan Solutions; 12.06.2011
comment
@user: не забудьте сделать: Rvm используйте 1.9.2 --default - person Nerian; 12.06.2011
comment
В вашем блоге есть такая команда: $ rvm --create use '1.9.2@Hidra' › .rvmrc . Если я выполню это, я увижу -bash: rvm --create use '1.9.2@Hidra': команда не найдена. Итак, действительно ли нам нужно заключать rvm --create в двойные кавычки? Я сделал rvm --help и не увидел --create как допустимую опцию. Пожалуйста, уточните. - person VJ Vélan Solutions; 12.06.2011
comment
После создания и использования getset, как указано в вашем блоге, и установки rvm use 1.9.2 --default, теперь я вижу ~/.rvm/rubies/ruby-1.9.2-p180/bin/ruby для $ which ruby. И когда я запускаю $ mongrel_rails cluster::start, я вижу -- /usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in to_specs': Could not find mongrel (>= 0) amongst [] (Gem::LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in to_spec' из /usr/lib/ruby/site_ruby/1.8/rubygems .rb:1182:in `gem' из /usr/bin/mongrel_rails:18 Я думаю, что у меня хуже, чем с того, с чего я начал. ПОМОЩЬ!!! - person VJ Vélan Solutions; 12.06.2011
comment
Похоже, мне нужно выполнить sudo mongrel_rails cluster::start после использования RVM. Но проблема все еще продолжается. Я все еще вижу тот же журнал ошибок, что и раньше. Я ожидаю, что ~/.rvm/ будет использоваться для ruby, но это не так. Я вижу, что система все еще использует тот, который находится в /usr/lib. Похоже, что ~/project/.rvmrc не имеет никакого эффекта, даже если какой рубин и какой драгоценный камень показывают путь ~/.rvm/.... В замешательстве, как обычно. Я не очень хорошо знаком с рубином, драгоценными камнями, дворнягой и прочим :( - person VJ Vélan Solutions; 12.06.2011
comment
@Nerian, я наконец-то смог убедиться, что использую ruby ​​1.9.2 через rvm, и на этот раз ошибка все та же, но путь ruby ​​​​в ошибке такой, как вы ожидали изначально - ** Запуск прослушивания Mongrel по адресу 127.0.0.1:8000 ** Запуск Rails с производственной средой... ** Монтаж Rails по адресу /home/ec2-user/test_ruby_1.9.2... /home/ec2-user/.rvm/gems/ruby-1.9. 2-p180/gems/activesupport-3.0.8/lib/active_sup port/dependencies.rb:239:in `require': нет такого файла для загрузки -- диспетчер (LoadError) Любая помощь с этого момента? - person VJ Vélan Solutions; 12.06.2011
comment
@user: Когда вы используете RVM, вы не используете системный рубин и его драгоценные камни. Итак, когда вы перешли на RVM, ваш список драгоценных камней был пуст. Вам нужно использовать bundle install внутри вашего приложения rails, чтобы оно устанавливало гемы, перечисленные в вашем Gemfile. Убедитесь, что в вашем Gemfile есть 'gem mongrel'. - person Nerian; 12.06.2011
comment
@user: Кроме того, я думаю, что вы не очень разбираетесь в развертывании, ruby ​​или rails. Я рекомендую вам использовать Heroku вместо amazon s3. У Heroku очень простой и автоматизированный процесс развертывания. Это поможет вам сосредоточиться только на изучении rails и ruby. - person Nerian; 12.06.2011
comment
@ Нериан, спасибо. После перехода на RVM и использования 1.9.2 я выполнил полную установку всех необходимых драгоценных камней, таких как mongrel и т. д. И я также обновил свой Gemfile и выполнил пакетное обновление и пакетную установку. Проблема заключается в различных сложностях с зависимостями mongrel и rails - совместимость не очень прямолинейна. Я вижу, что многие люди сталкиваются с этими проблемами. Я попробую героку по вашему предложению. Спасибо. - person VJ Vélan Solutions; 12.06.2011