Назад | Перейти на главную страницу

Рельсы: отсутствует драгоценный камень roxml

Я пытаюсь настроить приложение Rails на машине Ubuntu, но приложение всегда выдает ошибку:

Missing these required gems: roxml

жемчужина является установлен и отображается в gem list. Для приложения требуется ряд других драгоценных камней, все из которых я установил без каких-либо проблем, но по какой-то причине оно не распознает наличие roxml.

Я попытался очистить всю настройку ruby ​​/ rails / gem и начать заново с помощью rvm, но, пройдя этот процесс, установив все необходимые драгоценные камни (включая roxml), я снова остался с той же ошибкой.

Полное сообщение об ошибке:

Missing these required gems: roxml You're running: ruby 1.8.7.334 at /home/tim/.rvm/rubies/ree-1.8.7-2011.03/bin/ruby rubygems 1.6.2 at /home/tim/.rvm/gems/ree-1.8.7-2011.03, /home/tim/.rvm/gems/ree-1.8.7-2011.03@global 

(Примечание: сейчас я использую ruby ​​enterprise edition с rvm, но у меня была та же проблема до rvm с обычным ruby ​​1.8.7 и rubygems, которые были установлены из репозиториев Ubuntu.)

У меня есть то же приложение, работающее на другом устройстве Ubuntu с теми же версиями всего, поэтому что-то пошло не так на этой машине где-то по ходу дела, но я не уверен, где искать. Любая помощь приветствуется!

Я смог исправить это, заключив некоторые нагрузки active_support в условное выражение:

В: /home/tim/.rvm/gems/ree-1.8.7-2011.03/lib/ruby/gems/1.8/gems/roxml-3.1.6 измените первые части active_support на:

require 'active_support'
if Gem.loaded_specs['activesupport'].version >= Gem::Version.new('3')
    require 'active_support/inflector/inflections'
    require 'active_support/core_ext/object/duplicable'
    require 'active_support/core_ext/module/delegation'
    require 'active_support/core_ext/array/extract_options'
    require 'active_support/core_ext/hash'
    require 'active_support/core_ext/string/starts_ends_with'
end

Я бы проверил две вещи. Первый - это roxml установлен в RVM, а не как драгоценный камень в общей системе? Вы можете проверить, запустив /home/$user/.rvm/bin/rvm gem list

Другая проблема заключается в том, что gem list в RVM будут перечислены драгоценные камни для всех установленных версий Ruby, а не только для стандартного или активного Ruby. Убедитесь, что вы действительно установили roxml в используемый вами Ruby.