1

I get the following error:

[app (master)]$ heroku rake db:migrate

rake aborted!

undefined method `root' for Heroku::Rails:Module /app/Rakefile:7

(See full trace by running task with --trace) (in /app)

I can't figure out how to run trace as suggested by the error (heroku rake db:migrate --trace gives "Invalid Option --trace"), and I don't believe this is related to the well-known "heroku doesn't use sqlite3" issue.

My Rakefile is as follows:

require File.expand_path('../config/application', __FILE__)
require 'rake'

SampleApp::Application.load_tasks
4

2 回答 2

3

自行解决

最终,这个问题的解决方案分为两个阶段:

1) 我发现我的 rvm gemset 列表是空白的。不确定这是何时或如何发生的,因为它是之前设定的。这可能与我弄乱 RubyMine 设置有关,它允许您手动调整 Ruby SDK 和 Gems。我做了一个 rvm gemset 来设置正确的集合,然后 rvm gemset install 和 rvm gemset update 将所有正确的 gem 加载到环境中。老实说,我不完全理解这里发生了什么以及它与手动 gem install 命令之间的关系,所以我很有可能通过我对 RVM 的微薄理解把整个事情搞砸了。

此时,heroku rake db:migrate 仍然失败并出现同样的错误,但是:

2) 我的 Heroku 凭据不知何故断开了连接。我猜是因为 Git & Rake 失败了。同样,我并不完全理解这里的后果,但最终,解决方案就在 Heroku 设置页面上。重新输入 heroku create 后,我现有的凭据再次正确设置,并且 rake 停止失败。

概括

我很想删除或忘记这篇文章(因为我自己修复了),但我猜我不是唯一一个会因此类错误而沮丧的 Rails 菜鸟。我猜他们(错误)是由于我摸索系统(尤其是 RubyMine)试图弄清楚一切是如何相互连接的。由于这些问题的答案对于新的 Ruby/Rails 程序员来说可能不是显而易见的,所以我将把它放在一边。

于 2011-05-13T17:59:49.120 回答
1

您是否尝试heroku logs查看日志文件?

于 2011-04-14T11:38:58.587 回答