Рельсы: отсутствует драгоценный камень 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, но у меня была та же проблема pre-rvm с обычным ruby 1.8.7 и rubygems, установленными из репозиториев Ubuntu.)
У меня есть такое же приложение, работающее над другой коробкой Ubuntu с такими же версиями всего, так что что-то пошло не так на этой машине где-то вдоль линии, но я не уверен, где искать. Любая помощь приветствуется!
2 ответа
Я смог исправить это, обернув некоторые загрузки 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.