Пассажир: «Отсутствуют эти необходимые драгоценные камни красного цвета» - PullRequest
1 голос
/ 19 мая 2010

всего рубинового новичка, пытающегося настроить приложение Rails / MongoDB на Mac OS X Snow leopard.

Установленные Ruby 1.9.1 и RubyGems 1.3.7, which ruby и which gem указывают на один и тот же каталог. Я использую встроенный Apache Snow Leopard и Passenger 2.2.11. Я использую шаблон rails с mongo-site , который в целом работает нормально.

Точная ошибка, которую мне дает пассажир:

/Users/User/Sites/feuerapp/vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement **Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance. You can install the extension as follows: gem install bson_ext If you continue to receive this message after installing, make sure that the bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version. Missing these required gems: redgreen You're running: ruby 1.9.1.376 at /usr/local/bin/ruby rubygems 1.3.7 at /Users/User/.gem/ruby/1.9.1, /usr/local/lib/ruby/gems/1.9.1 Run Грабли: установите to install the missing gems.

Странно то, что Redgreen установлен и выглядит хорошо для меня:

Dahlia:feuerapp User$ ls -la vendor/gems/<br> total 0<br> drwxr-xr-x 7 User staff 238 May 18 22:56 .<br> drwxr-xr-x 5 User staff 170 May 18 23:00 ..<br> drwxr-xr-x 11 User staff 374 May 18 22:56 factory_girl-1.2.4<br> drwxr-xr-x 11 User staff 374 May 18 22:56 mocha-0.9.8<br> drwxr-xr-x 7 User staff 238 May 18 22:56 mongo_mapper-0.7.6<br> drwxr-xr-x 7 User staff 238 May 18 22:56 redgreen-1.2.2<br> drwxr-xr-x 11 User staff 374 May 18 22:56 shoulda-2.10.3

Закомментирование этой строки в environment.rb "решает" проблему, но я не хочу этого:

config.gem 'redgreen'

Я еще ничего не понимаю в драгоценных камнях, но из моего ограниченного понимания, красный цвет должен быть там и найден?

Ответы [ 2 ]

3 голосов
/ 19 мая 2010

Хорошо, нашел его, мне не хватало гема тестового блока.

Как я это нашел? Я пошел в vendor / gems / redgreen-1.2.2 / lib / redgreen.rb и посмотрел на операторы "require", в которых перечислены "test / unit". Быстрый поиск в Google привел меня к гему тестового блока, и после gem install test-unit он теперь работает.

Я не уверен, смогу ли я как-то сказать Рэйку, что есть зависимость, и я немного разочарован, что не было лучшего сообщения об ошибке, но, по крайней мере, это исправлено.

0 голосов
/ 19 мая 2010

Возможно, это не говорит вам, что он ищет другую версию драгоценного камня по любой причине. Если вы запускаете (sudo) rake gems: установите и попробуйте снова, вы получаете то же сообщение? Бизнес, связанный с драгоценными камнями, - это, пожалуй, боль в заднице, если не сказать больше.

Также, в частности, в этом случае, я бы сказал, что удаление красного цвета - это не конец света. Так как он специфичен для тестирования, вы также можете переместить зависимость gem в environment / test.rb (или любую другую настроенную среду тестирования), и вам не придется иметь дело с ней в процессе разработки / подготовки / производства.

Любые драгоценные камни, которые зависят от тестирования, должны указываться только для ваших сред тестирования, а не для всего вашего приложения.

...