Сервер Rails больше не работает: нет такого файла для загрузки savon (LoadError)

У меня есть совершенно новый MacBook Pro, купленный примерно 1 мая 2012 года. Во время моей покупки, очевидно, были проблемы с компилятором C в Xcode, что означало, что для работы рельсов необходимо было установить GCC. Итак, моя текущая установка включает в себя:

Домашний

Рельсы 3.2.2

РВМ

Ruby 1.9.3-p0 для текущего проекта

ZShell (о-мой-зш)

Гит и ГитФлоу

Xкод

ССАГПЗ

Текущий проект, в котором произошел сбой, — это проект Rails 3, использующий Ruby 1.9.3-p0.

Я много гуглил и просматривал stackoverflow, и я видел людей с похожими проблемами, но похоже, что это та же самая проблема.

После четырех часов поисков я наконец решил опубликовать здесь.

Вот в чем проблема:

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

Я МОГУ создавать и формировать новый проект Rails с нуля. Но этот конкретный проект: даже не могу запустить сервер rails. Когда я это делаю, я получаю следующий каскад ошибок, которые мне трудно понять:

rails s
=> Booting WEBrick
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Users/JohnConq/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-     3.2.2/lib/active_support/dependencies.rb:251:in `require': no such file to load -- savon   (LoadError)

from /Users/JohnConq/.rvm/gems/ruby-1.9.3-p0/gems/activesupport- 3.2.2/lib/active_support/dependencies.rb:251:in `block in require'

.... и так далее. Другие ошибки — это просто каскад проблем, вызванных исходной ошибкой.

Итак, я посмотрел в файле dependencies.rb строку 251, и это просто вторая строка в этой функции: (строка, начинающаяся с load_dependency)

def require(file)

    result = false
    load_dependency(file) { result = super }
    result
end

Поэтому я не совсем уверен, что передается этой функции, чтобы вызвать ошибку.

Забавно, потому что вчера этот проект работал на том же компьютере Mac. Тем не менее, после обновления Xcode все, казалось, начало давать сбой. Я переустановил GCC и надеялся, что это исправит ситуацию, но не повезло. Я удалил гемсет в RVM после переустановки GCC, а затем выполнил установку пакета, создав таким образом новый гемсет. Все еще не работает.

Я в своем уме. Этот проект только вчера работал на этом же Mac. Я не знаю, что случилось. Любые идеи ?

заранее спасибо.


person Nmuta    schedule 06.05.2012    source источник
comment
что такое савон? учитывая, что это очевидный источник первоначальной ошибки, что вы можете сказать нам о savon? Это в гемфайле? Вы можете найти его где-нибудь в исходном коде проекта, который не загружается?   -  person RadBrad    schedule 07.05.2012
comment
Это забавно, потому что драгоценный камень Savon не находится НИГДЕ в проекте, если посмотреть на Gemfile и поговорить с нашим техническим директором. Значит, здесь происходит что-то странное.   -  person Nmuta    schedule 07.05.2012
comment
Пробовали ли вы глобальный поиск слова «савон» в любом месте проекта? Видя, как дела пошли на юг ПОСЛЕ обновления Xcode, мне кажется, что это связано с обновлением Xcode. Я бы погуглил «обновление Xcode». Я так и сделал и обнаружил некоторые проблемы, например заголовок stackoverflow.com/questions/7203553/'   -  person RadBrad    schedule 07.05.2012
comment
Да, я полностью удалил Xcode через командную строку и все зависимости инструментов разработчика, и он все еще появляется. Так странно. Савона даже нет в проекте ВООБЩЕ   -  person Nmuta    schedule 07.05.2012
comment
OK НОВАЯ ИНФОРМАЦИЯ: это могут быть ошибки, связанные с компилятором, из-за моей неспособности правильно установить версию ruby. Когда я пытаюсь установить новую версию ruby, кажется, что установка проходит нормально, но я получаю сообщения об ошибках, которые заносятся в журнал... те ошибки, которые я вставил ниже:   -  person Nmuta    schedule 07.05.2012
comment
[2012-05-07 09:31:15] tar xmzf /Users/JohnConq/.rvm/archives/yaml-0.1.4.tar.gz -C /Users/Nmuta/.rvm/src yaml-0.1.4/ tests/example-reformatter-alt.c: невозможно отменить связь с уже существующим объектом yaml-0.1.4/tests/example-deconstructor.c: невозможно отменить связь с уже существующим объектом yaml-0.1.4/tests/test- reader.c: невозможно отменить связь с уже существующим объектом yaml-0.1.4/tests/Makefile.am: невозможно отменить связь с уже существующим объектом уже существующий объект yaml-0.1.4/tests/run-dumper.c: невозможно отменить связь с уже существующим объектом .......   -  person Nmuta    schedule 07.05.2012


Ответы (1)


Похоже, у вас могут быть проблемы с правами доступа, попробуйте:

sudo rm -rf /Users/JohnConq/.rvm/*/yaml* /Users/JohnConq/.rvm/usr/
sudo chown -R JohnConq /Users/JohnConq/.rvm/

Также, чтобы убедиться, что у вас правильный GCC - установите osx-gcc-installer

person mpapis    schedule 07.05.2012