Грешка след рейк db:migrate команда: рейк прекратено! NoMethodError: недефиниран метод `accept' за nil:NilClass

След като напиша rake db:migrate, получавам това съобщение

C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/activesupport-4.0.0/lib/active_support/values/time_zone.rb:282: warning: circular argument reference - now

rake aborted!

NoMethodError: undefined method `accept' for nil:NilClass
C:3:in `rescue in map'
C:-1:in `map'
NoMethodError: undefined method `accept' for nil:NilClass
C:-1:in `map'
Tasks: TOP => db:migrate

Следното е моят GemFile

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'

# Use mysql as the database for Active Record
gem 'mysql2'

gem 'activerecord-mysql2-adapter'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'


# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

и следното е моята база данни.yml

development:
  adapter: mysql2
  encoding: utf8
  database: test_app_development
  pool: 5
  username: root
  password: password
  host: localhost

Преди да добавя activerecord-mysql2-adapter към моите gem файлове, получих тази грешка: active record::conecction not created webbrick, но след като добавих този gem, всичко беше наред (Това беше направено преди създаването на база данни). Много форуми онлайн показват, че този скъпоценен камък е източникът на моя проблем и сега, когато го премахна след създаване на база данни, получавам следната грешка: Посочено е „mysql2“ за адаптер на база данни, но скъпоценният камък не е зареден. Добавете gem 'mysql2' към вашия Gemfile.

Пускам rails 4.0.0 на ruby ​​2.3.0 на windows Благодаря много за помощта


person SamB    schedule 04.05.2016    source източник


Отговори (1)


Както споменахте, най-вероятно това е конфликт на скъпоценен камък от включването на скъпоценен камък 'activerecord-mysql2-adapter

Премахнете го от вашия Gemfile, стартирайте bundle update, след което рестартирайте сървъра си. Ако все още получавате грешка, публикувайте я тук.

person Anthony E    schedule 04.05.2016
comment
След като премахнах скъпоценния камък, получавам следната грешка: рейкът е прекратен! LoadError: не може да зареди такъв файл -- mysql2/2.3/mysql2 C:/Users/samue_000/Documents/Sites/test_app/config/application.rb:7:in <top (required)>' C:/Users/samue_000/Documents/Sites/test_app/Rakefile:4:in ‹top (задължително)›' - person SamB; 05.05.2016