2011-08-04 49 views
0

当试图将数据库迁移到Heroku,我得到以下(前提是我使用gem 'sqlite3', '1.3.3'问题在数据库迁移到Heroku的

$ heroku rake db:migrate 
(in /app) 
rake aborted! 
uninitialized constant Rake::DSL 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:Ta 
skLib>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `<module:R 
ake>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `<top (req 
uired)>' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.9.1/lib/rdoc/task.rb:37:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.9.1/lib/rdoc/task.rb:37:in `<top (requi 
red)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `<top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `load' 

/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `block 
in <top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `each' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `<top (
required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`initialize_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:139:in 
`load_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:77:in 
`method_missing' 
/app/Rakefile:7:in `<top (required)>' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:1991:in `run' 
/usr/ruby1.9.2/bin/rake:31:in `<main>' 

我该如何解决这个问题

?谢谢

+0

你尝试过搜索吗? http://stackoverflow.com/questions/6862032/another-uninitialized-constant-rakedsl –

+0

可能重复[耙中止!未初始化的常量Rake :: DSL上的heroku](http://stackoverflow.com/questions/6727898/rake-aborted-uninitialized-constant-rakedsl-on-heroku) – s84

回答

0

Rake aborted! Uninitialized constant Rake::DSL on Heroku

I have a blog post about this here有两种方法可以做到这一点:

只能使用老版本的耙子:

查看当前的耙子版本$ gem list。看看你有哪些版本的耙子,除了0.8.7之外全部移除。您可以使用gem uninstall rake -v=0.9.1或任何需要删除的版本删除宝石。

或者只是一个衬垫添加到您的耙文件:

除非你有使用旧版本的斜掠更容易此行require 'rake/dsl_definition'添加到您的Rails的应用Rake文件。

require File.expand_path('../config/application', __FILE__) 
require 'rake/dsl_definition' 
require 'rake' 
相关问题