Ошибка db: migrate rake aborted из-за неинициализированной константы Rake :: FileUtilsExt - PullRequest
5 голосов
/ 16 июня 2011

Я новичок в Ruby on Rails, и я пытался развернуть простое приложение Cappuccino с Ruby on Rails на Heroku в течение последних трех дней, и каждый раз, когда я инициализирую (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>'

Я обновил все необходимые драгоценные камни и комплекты.Вот мой список драгоценных камней для вашей справки:

*** 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)

А вот список Bundle:

    {Gems included by the bundle:
      * abstract (1.0.0)
      * actionmailer (3.0.8)
      * actionpack (3.0.8)
      * activemodel (3.0.8)
      * activerecord (3.0.8)
      * activeresource (3.0.8)
      * activesupport (3.0.8)
      * arel (2.0.10)
      * builder (2.1.2)
      * bundler (1.0.15)
      * erubis (2.6.6)
      * i18n (0.5.0)
      * mail (2.2.19)
      * mime-types (1.16)
      * polyglot (0.3.1)
      * rack (1.2.3)
      * rack-mount (0.6.14)
      * rack-test (0.5.7)
      * rails (3.0.8)
      * railties (3.0.8)
      * rake (0.9.2)
      * sqlite3 (1.3.3)
      * thor (0.14.6)
      * treetop (1.4.9)
      * tzinfo (0.3.28)}

Я перепробовал все, и я нахожусь на моем личном EOL.Я потратил много времени, изучая вопросы здесь и пробуя все доступное.

Ответы [ 3 ]

1 голос
/ 16 июня 2011

Я получаю ту же ошибку на новом сервере Heroku с новым крошечным приложением Rails и не получал ее раньше. Возможно, это новый выпуск Heroku?

Перемещение локальной базы данных с помощью отводов работало как быстрое решение, но не является ни масштабируемым, ни разумным долгосрочным решением:

$ sudo gem install taps
$ heroku db:push
1 голос
/ 21 июня 2011

Существует известная проблема с версией Rake. Попробуйте откатить версию Rake до 0.8.7.

См. Замечание Twitter от DHH (2011-05-21): Рейк 0.9, выпущенный вчера, сломал Rails (и другие). Пока мы ждем исправления, вы захотите иметь gem 'rake', '0.8.7' в вашем файле Gem.

0 голосов
/ 16 июня 2011

Как исправить проблему неинициализированной константы Rake :: DSL на Heroku? звучит похоже.

Может быть, попробовать

require 'rake/file_utils'

в Rakefile, прежде чем требовать 'rake'?

...