ruby-on-rails-3 - create - rails миграции



Рейк 0.9.0 'неопределенный метод' task '' (4)

Вместо того, чтобы понизить рейтинг вашего Rake, вы можете исправить файл application.rb, добавив строку:

include Rake::DSL

Просто добавьте, что в классе приложения, и вы должны быть хорошими!

Пример application.rb:

module AppName
  class Application < Rails::Application
   include Rake::DSL
  end
end

На этот вопрос уже есть ответ здесь:

Gemfile содержит только rails 3.0.7 и sqlite3, внезапно rake не запустится ни в одном приложении. Ошибка запускалась при запуске rake db: migrate.

rake aborted!
undefined method `task' for #<NotWorking::Application:0x00000100ccc328>
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:139:in `load_tasks'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
/Users/codywright/Code/Rails/not_working/Rakefile:7:in `<top (required)>'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load'
/Users/codywright/.rvm/gems/ruby-1.9.2-[email protected]/gems/rake-0.9.0/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/lib/rake/application.rb:495:in `raw_load_rakefile'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/lib/rake/application.rb:78:in `block in load_rakefile'
/Users/codywright/.rvm/gems/ruby-1.9.2-[email protected]/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/lib/rake/application.rb:77:in `load_rakefile'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/lib/rake/application.rb:61:in `block in run'
/Users/codywright/.rvm/gems/ruby-1.9.2-[email protected]/gems/rake-0.9.0/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/codywright/.rvm/gems/ruby-1.9.2-p18[email protected]/gems/rake-0.9.0/lib/rake/application.rb:59:in `run'
/Users/codywright/.rvm/gems/[email protected]/gems/rake-0.9.0/bin/rake:31:in `<top (required)>'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load'
/Users/codywright/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>'

Запустите эти 2 строки в командной строке. Это уберет грабли 0.9.0. замените свое имя пользователя, где оно показывает "имя пользователя"

GEM_HOME='/Users/username/.rvm/gems/[email protected] 'GEM_PATH='/Users/username/.rvm/gems/[email protected]' gem удалить грабли

GEM_HOME = '/ Users / имя пользователя / .rvm / gems / ruby-1.9.2-p180' GEM_PATH = '/ Users / имя пользователя / .rvm / gems / ruby-1.9.2-p180' gem удалить грабли

Затем установите правильные камни:

rvm gem install mysql2 -v 0.2.7

rvm gem установить грабли -v 0.8.7

Обновите гем MySQL (здесь показана установка для установки Intel x86_64):

env ARCHFLAGS = "- arch x86_64" gem install mysql - --with-mysql-config = / usr / local / mysql / bin / mysql_config

Когда вы создаете новое приложение:

рельсы новый -d MySQL

вам не нужно менять gemfile или использовать bundle exec

Я надеюсь это имеет смысл. Этот пост не позволит мне разметить синтаксис там, где он читается.


Я сделал: sudo gem uninstall rake -v 0.9 затем добавил gem 'rake', '0.8.7' в мой файл gem.


gem 'rake', '0.8.7' в Gemfile работает, если также может потребоваться запустить bundle update rake если bundler жалуется, что rake заблокирован '0.9.0'.

Вот проблема на странице рейка GitHub https://github.com/jimweirich/rake/issues/33





rake