Ошибка Gem отсутствует в Rails, но она установлена! - PullRequest
1 голос
/ 09 ноября 2010

Итак, я новичок в рельсах и на самом деле изучаю видео-урок с Lynda.com, чтобы узнать его. Я не следовал инструкциям по установке на видео, потому что слышал о RVM, и до сих пор было здорово с настройкой всего. Но я все еще в начале видео и не могу передать что-то действительно простое ... поэтому я надеюсь, что кто-то может мне помочь.

Вот какой-то фон:

  • У меня установлен и создан RVM 1.8.7@rails2.3.8. Я смог установить как ruby, так и rails, и все здесь хорошо. я даже установить глобальный набор гемов для mysql и пассажир.

  • Я использую пассажира вместо WEBrick (который используется в учебнике) и Я даже смог получить апач модуль загружен и все работает нормально, когда я создаю рельсы приложение. Я могу перейти на простой-cms.local и я см. начальную страницу отлично.

Так вот в чем проблема. Просматривая видео, я дошел до того, что у меня script/generate controller say и он создал контроллер нормально, ошибок нет. Затем я продолжил определять действие «привет» в контроллере и соответствующий вид «hello.rhtml» в папке app / view / say.

Теперь, когда я пытаюсь посетить simple-cms.local, он все еще работает, но когда я пытаюсь посетить simple-cms.local / say / hello.rhtml, я получаю сообщение об ошибке!

Приложение Ruby on Rails не может быть начал

Приложение закрылось во время запуск (т.е. во время оценки конфигурации / environment.rb). Ошибка сообщение можно найти ниже. Решать эта проблема, пожалуйста, следуйте любой инструкции в сообщении об ошибке.

Сообщение об ошибке: Missing the Rails 2.3.8 драгоценный камень. Пожалуйста, gem install -v=2.3.8 rails, обновите ваш RAILS_GEM_VERSION настройка в config / environment.rb для версия Rails у вас есть установлен или закомментируйте RAILS_GEM_VERSION использовать последние версия установлена.

Так что мне здесь делать? Я имею в виду rails 2.3.8 установлен, так почему он говорит мне установить его снова?


UPDATE:

Я запустил gem environment из каталога приложения и получил это

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0]
  - INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2
  - RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /Users/user/.rvm/gems/ruby-1.8.7-p302@rails2
     - /Users/user/.rvm/gems/ruby-1.8.7-p302@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

Затем запустил script/console, который сработал, а затем запустил Gems.path, который вернул

["/Users/user/.rvm/gems/ruby-1.8.7-p302@rails2", "/Users/user/.rvm/gems/ruby-1.8.7-p302@global"] 

Хорошо выглядит, а вы, ребята?


ОБНОВЛЕНИЕ 2:

Хорошо, у меня ничего не получилось! Я еще не пробовал использовать Passenger Standalone, но мне нужно использовать apache, и я прочитал, что в автономном режиме используется nginx. То, что я пробовал до сих пор, запускается с нуля, rvm implode, а затем снова устанавливается rvm, ruby ​​1.8.7, passenger, mysql, rails 2.3.8, и все. Я все еще не могу пройти страницу по умолчанию при посещении моего приложения! Затем я безуспешно пытался следовать руководствам, на которые ссылался Крис Джонсен в комментариях.

Все идеи приветствуются ...

Ответы [ 2 ]

1 голос
/ 17 ноября 2010

Проблема заключалась в том, что я устанавливал пассажиров в глобальный набор гемов, что не должно быть проблемой, но это было.

Я удалил пассажира из глобального набора гемов и установил его в используемый мной набор проектов. Это решило проблему с отсутствующим рельсом, и теперь я получаю ошибку 500 при попытке посетить simple-cms.local / say / hello. Я создам новый вопрос для этого и отмечу, что этот решен!

0 голосов
/ 10 ноября 2010

Попробуйте автономную версию Phusion Passenger.Каждый экземпляр будет использовать загруженный в настоящий момент RVM и gemset.

...