#ruby-on-rails #heroku #rake #rakefile
#ruby-on-rails #heroku #грабли #rakefile
Вопрос:
Я получаю следующую ошибку:
[приложение (master)] $ heroku rake db: перенос
рейк прерван!
неопределенный метод `root’ для Heroku::Rails:Module / app /Rakefile:7
(Смотрите полную трассировку, запустив задачу с помощью —trace) (в / app)
Я не могу понять, как запустить трассировку, как указано в ошибке ( heroku rake db:migrate --trace
выдает «Недопустимый параметр —trace»), и я не верю, что это связано с хорошо известной проблемой «heroku не использует sqlite3».
Мой Rakefile выглядит следующим образом:
require File.expand_path('../config/application', __FILE__)
require 'rake'
SampleApp::Application.load_tasks
Ответ №1:
РЕШАЕТСЯ САМОСТОЯТЕЛЬНО
В конечном итоге решение этой проблемы было найдено в 2 этапа:
1) Я обнаружил, что мой список rvm gemset был пуст. Не уверен, когда или как это произошло, потому что это было установлено ранее. Это может быть связано с тем, что я возился с настройками RubyMine, которые позволяют вам настраивать Ruby SDK и Gems вручную. Я создал rvm gemset, чтобы установить правильный набор, а затем установил rvm gemset и обновил rvm gemset, чтобы загрузить все нужные драгоценные камни в среду. Я буду честен, я не до конца понимаю, что здесь происходит и как это связано с командами ручной установки gem, поэтому очень возможно, что я все испортил из-за моего скудного понимания RVM.
На данный момент heroku rake db: migrate по-прежнему завершается с той же ошибкой, однако:
2) Мои учетные данные Heroku каким-то образом отключились. Я предполагаю, что Git amp; Rake терпели неудачу из-за этого. Опять же, я не до конца понимаю последствия этого, но в конечном итоге решение было прямо передо мной на странице настройки Heroku. Как только я повторно ввел heroku create, мои существующие учетные данные снова были установлены правильно, и ошибка rake прекратилась.
Краткие сведения
У меня был наполовину соблазн просто удалить или забыть об этом сообщении (поскольку я исправил его самостоятельно), но я предполагаю, что я не единственный новичок в Rails, который будет разочарован подобными ошибками. Я предполагаю, что они (ошибки) были вызваны тем, что я шарил по системе (особенно RubyMine), пытаясь выяснить, как все было взаимосвязано. Поскольку ответы на подобные проблемы, вероятно, неочевидны для начинающих программистов Ruby / Rails, я оставлю это.
Ответ №2:
Вы пытались heroku logs
просмотреть файлы журналов?
Комментарии:
1. Нет, никогда раньше этого не делал. Я действительно вижу там ошибку: ActionController::RoutingError (неинициализированный постоянный пользовательский контроллер):