#ruby-on-rails
#ruby-on-rails
Вопрос:
Теперь я получаю следующее:
`dependencies.rb:239:in `require': no such file to load -- require_relative (LoadError`)
Но у меня недостаточно информации, чтобы выяснить, что является ее причиной или как ее отладить.
Что я могу сделать?
Комментарии:
1. На какой версии Ruby вы работаете?
2. Я не уверен, что вызвало это … внезапно, с некоторыми незначительными изменениями, я начал получать это, и я понятия не имею, с чего начать это исправлять…. когда я создаю совершенно новый экземпляр приложения rails, он запускается нормально, но я не хочу начинать с нуля …. : (
Ответ №1:
Вероятно, это происходит из linecache gem version 0.45
, который был выпущен вчера. Откат к 0.43
поможет вам пока обойти эту проблему. Я не уверен, намеренно ли они прервали поддержку Ruby 1.8.7 или нет.
Это зависимость от ruby-debug-base
.
Добавьте что-то похожее на следующее в свой Gemfile
.
group :development, :test, :cucumber do
gem "linecache", "0.43"
gem "ruby-debug-base", "0.10.4.0"
gem "ruby-debug", "0.10.4"
end
Комментарии:
1. ах, ты гений, это звучит так, как и было, но я пытаюсь это сейчас! если это сработает, вы спасли мне жизнь
2. вау, мы только что получили это, и у меня было ощущение, что это ошибка с кешем строки. я просто не знал, как это исправить. спасибо за это! сегодня вы спасли две жизни
3. сегодня утром была такая же проблема, и вышеприведенное помогло мне, спасибо
Ответ №2:
В качестве альтернативы добавьте
gem 'require_relative'
в ваш Gemfile. Похоже, что linecache 0.45 нуждается в этом, а 0.43 — нет, вот почему работает понижение рейтинга linecache.
Комментарии:
1. Я не включил это в свой ответ, потому что я не уверен, какова цель выпуска linecache версии 0.45. В нем должна быть указана эта зависимость или, по крайней мере, указано, что она нарушена в версии 1.8.7. По этой причине я не доверяю этому выпуску и предпочел бы дождаться разъяснений или версии 0.46.
2. Выпуск 0.46 доступен и теперь имеет зависимость для require_relative. Извините за упущение.