Ответ 1
Я сделал: sudo gem uninstall rake -v 0.9
, затем добавил gem 'rake', '0.8.7'
в свой файл gem.
Gemfile содержит только рельсы 3.0.7 и sqlite3, внезапный рейк не будет запускаться ни на какие приложения. Ошибка началась при запуске '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/[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/[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/[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: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>'
Я сделал: sudo gem uninstall rake -v 0.9
, затем добавил gem 'rake', '0.8.7'
в свой файл gem.
Вместо того, чтобы понизить рейтинг вашего рейка, вы можете исправить файл application.rb, добавив строку:
include Rake::DSL
Просто добавьте, что внутри класса Application, и вы должны быть хорошими!
Пример application.rb:
module AppName
class Application < Rails::Application
include Rake::DSL
end
end
gem 'rake', '0.8.7'
в Gemfile работает, если также может понадобиться запустить bundle update rake
, если связующий агент жалуется на блокировку рейка "0.9.0".
Вот проблема на странице rake github https://github.com/jimweirich/rake/issues/33
Я нахожусь на jruby. Вот точные команды, которые избавили меня от проблемы.
jruby -S gem uninstall rake
jruby -S gem install rake -v 0.8.7
edit Gemfile: добавьте это после gem 'rails':
gem 'rake', '0.8.7'
окончательно выполните:
jruby -S bundle update rake
Запустите эти две строки в командной строке. Он удалит рейк 0.9.0. замените свое имя пользователя, где он показывает "имя пользователя"
GEM_HOME = '/Users/username/.rvm/gems/[email protected]' GEM_PATH='/Users/username/.rvm/gems/[email protected] 'gem удалить рейк
GEM_HOME = '/Пользователи/имя пользователя /.rvm/gems/ruby-1.9.2-p180' GEM_PATH = '/Пользователи/имя пользователя /.rvm/gems/ruby-1.9.2-p180' gem uninstall rake
Затем установите правильные драгоценные камни:
rvm gem install mysql2 -v 0.2.7
rvm gem install rake -v 0.8.7
Обновите глагол MySQL (здесь показан пример для установки x86_64 intel install):
env ARCHFLAGS = "- arch x86_64" gem install mysql - --with-mysql-config =/usr/local/mysql/bin/mysql_config
При создании нового приложения:
rails new -d mysql
вам не нужно менять gemfile или использовать execle exec
Надеюсь, это имеет смысл. Этот пост не позволит мне компоновать синтаксис, где он читаем.