由于未初始化的常量Rake :: FileUtilsExt,“db:migrate rake aborted”错误

时间:2011-06-16 13:22:17

标签: ruby-on-rails ruby heroku rake cappuccino

我是Ruby on Rails的新手,我一直在尝试在过去三天内将一个简单的Cappuccino应用程序与Ruby on Rails一起部署到Heroku上,并且每次初始化时都会({{1我一直得到以下错误。

heroku rake db:migrate

我已经更新了所有必需的宝石和包。 这是我的宝石列表供您参考:

(in /app)
rake aborted!
uninitialized constant Rake::FileUtilsExt
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2482:in `const_missing'
/app/Rakefile:15:in `<module:RakeFileUtils>'
/app/Rakefile:14: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>'

这是Bundle列表:

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.9, 3.0.8, 3.0.7, 3.0.5)
actionpack (3.0.9, 3.0.8, 3.0.7, 3.0.5, 2.3.8)
activemodel (3.0.9, 3.0.8, 3.0.7, 3.0.5)
activerecord (3.0.9, 3.0.8, 3.0.7, 3.0.5)
activeresource (3.0.9, 3.0.8, 3.0.7, 3.0.5)
activesupport (3.0.9, 3.0.8, 3.0.7, 3.0.5, 2.3.8)
arel (2.1.1, 2.0.10, 2.0.9)
builder (3.0.0, 2.1.2)
bundler (1.0.15)
capistrano (2.6.0, 2.5.20)
configuration (1.2.0)
daemons (1.1.3, 1.1.0)
dnssd (2.0)
erubis (2.7.0, 2.6.6)
eventmachine (0.12.10)
fastthread (1.0.7)
fcgi (0.8.8)
heroku (2.3.0, 2.2.8 ruby)
highline (1.6.2, 1.6.1)
hpricot (0.8.4)
i18n (0.6.0, 0.5.0)
jk-ferret (0.11.8.3)
launchy (0.4.0)
libxml-ruby (2.0.6, 1.1.4)
mail (2.3.0, 2.2.19, 2.2.15)
mime-types (1.16)
net-scp (1.0.4)
net-sftp (2.0.5)
net-ssh (2.1.4, 2.1.3)
net-ssh-gateway (1.1.0, 1.0.1)
polyglot (0.3.1)
rack (1.3.0, 1.2.3)
rack-mount (0.8.1, 0.7.1, 0.6.14)
rack-test (0.6.0, 0.5.7)
rails (3.0.9, 3.0.8)
railties (3.0.9, 3.0.8)
rake (0.9.2, 0.8.7)
rdoc (3.6.1)
RedCloth (4.2.7)
rest-client (1.6.3)
ruby-openid (2.1.8)
rubygems-update (1.8.5, 1.6.2)
sequel (3.24.1, 3.20.0)
sinatra (1.2.6, 1.0)
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3)
taps (0.3.23)
term-ansicolor (1.0.5)
thin (1.2.11)
thor (0.14.6)
tilt (1.3.2)
treetop (1.4.9)
tzinfo (0.3.28, 0.3.25)
xmpp4r (0.5)

我已经尝试了一切,而且我的个人EOL。我花了很多时间在这里探讨问题并尝试一切可用的东西。

3 个答案:

答案 0 :(得分:1)

我在一个新的Heroku服务器上收到了同样的错误,它有一个新的,很小的Rails应用程序,之前没有收到过。也许这是一个新的Heroku问题?

使用水龙头推送本地数据库可以作为快速解决方案,但既不是可扩展的也不是合理的长期解决方案:

$ sudo gem install taps
$ heroku db:push

答案 1 :(得分:1)

Rake版本存在已知问题。尝试将你的Rake版本回滚到0.8.7。

参见Twitter remark from DHH(2011-05-21):昨天发布的 Rake 0.9打破了Rails(和其他人)。在我们等待修复时,您需要在Gem文件中添加gem 'rake', '0.8.7'

答案 2 :(得分:0)

How to fix the uninitialized constant Rake::DSL problem on Heroku?听起来很相似。

也许试试

require 'rake/file_utils'
在需要'rake'之前在Rakefile中