我刚刚跳进英雄队,遇到了一点障碍。每当我试图创建我的数据库时,我会得到以下错误。

$ heroku rake db:migrate
 rake aborted!
 no such file to load -- tasks/rails
 /disk1/home/slugs/274236_54c3556_0822-55414a07-d565-459a-9412-67cc0e995790/mnt/Rakefile:10:in `require'
 (See full trace by running task with --trace)
 (in /disk1/home/slugs/274236_54c3556_0822-55414a07-d565-459a-9412-67cc0e995790/mnt)

我有点困惑,到底是什么,错误信息试图告诉我。我可以验证lib/tasks文件夹中不存在名为“rails”或“rails.rb”的文件。但出于理智的考虑,我也使用scaffold在一个干净的脏东西中创建了一个新的ror应用程序,并验证了它也不显示它们。
在我将这个应用程序升级到rails 3之前,它以前是在rails 2下运行的。所以当我升级的时候我很有可能暴露了一些东西。
此外,如果有帮助的话,下面是与上面相同的命令,其中启用了跟踪:
$ heroku rake db:migrate --trace
  rake aborted!
  no such file to load -- tasks/rails
  /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/Rakefile:10:in `require'
  /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/Rakefile:10
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
  /home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt/.bundle/gems/ruby/1.8/gems/rake-0.8.7/bin/rake:31
  /usr/ruby1.8.7/bin/rake:19:in `load'
  /usr/ruby1.8.7/bin/rake:19
  (in /disk1/home/slugs/274236_54c3556_0822-d0995817-4e57-4415-9e95-18e86d90348d/mnt)

任何关于调查方向的线索都将受到高度赞赏。
谢谢!
编辑
我开始认为Heroku是一个红鲱鱼。我可以尝试在本地运行db:migrate,它会产生相同的错误(显然是本地路径而不是heroku的路径)。
这是一个基本的应用程序,没有特殊的gem依赖关系。这是我的gemfile:
source :gemcutter

gem 'mysql', '2.7'
gem 'rails', '3.0.1'
#gem 'rfacebook'
gem 'sqlite3-ruby', :require => 'sqlite3'

这也是我的数据库.yml:
# SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

最佳答案

似乎您的Rakefile中有一些rails 2工件或其他东西。我会从这里开始,也许比较一下默认的rails 2和rails 3Rakefiles。

关于ruby-on-rails - Heroku rake db:migrate失败-缺少任务/rails ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3953275/

10-13 00:22
查看更多