рейк прерван! неопределенный метод `each’ для nil: NilClass

#ruby-on-rails #ruby #ubuntu

#ruby-on-rails #ruby #ubuntu

Вопрос:

Я получаю эту ошибку каждый раз, когда запускаю «sudo bundle exec rake snorby: setup».

Кроме того, я очень новичок в этом и не могу понять, что я делаю неправильно. Пожалуйста, дайте мне знать, если требуется дополнительная информация, чтобы адекватно ответить на вопрос.

Полная трассировка:

 ciscadet@farnsworth:/var/www/snorby$ sudo bundle exec rake snorby:setup
No time_zone specified in snorby_config.yml; detected time_zone: US/Eastern
rake aborted!
undefined method `each' for nil:NilClass

Tasks: TOP => snorby:setup => environment
(See full trace by running task with --trace)
ciscadet@farnsworth:/var/www/snorby$ sudo bundle exec rake snorby:setup --trace
No time_zone specified in snorby_config.yml; detected time_zone: US/Eastern
** Invoke snorby:setup (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
undefined method `each' for nil:NilClass
/var/www/snorby/vender/cache/ruby/1.9.1/gems/dm-rails-1.2.1/lib/dm-rails/setup.rb:11:in `setup'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/dm-rails-1.2.1/lib/dm-rails/railtie.rb:90:in `block in <class:Railtie>'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/lazy_load_hooks.rb:34:in `call'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/lazy_load_hooks.rb:34:in `execute_hook'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/lazy_load_hooks.rb:42:in `each'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/initializable.rb:30:in `instance_exec'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/initializable.rb:30:in `run'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/initializable.rb:55:in `block in run_initializers'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/initializable.rb:54:in `each'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/initializable.rb:54:in `run_initializers'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/application.rb:96:in `initialize!'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
/var/www/snorby/config/environment.rb:3:in `<top (required)>'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:240:in `require'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:240:in `block in require'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:223:in `block in load_dependency'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:640:in `new_constants_in'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:223:in `load_dependency'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:240:in `require'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/application.rb:83:in `require_environment!'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/railties-3.1.12/lib/rails/application.rb:203:in `block (2 levels) in initialize_tasks'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:205:in `block in execute'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:174:in `each'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `block (2 levels) in top_level'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `each'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:90:in `block in top_level'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:62:in `block in run'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/var/www/snorby/vender/cache/ruby/1.9.1/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
/var/www/snorby/vender/cache/ruby/1.9.1/bin/rake:23:in `load'
/var/www/snorby/vender/cache/ruby/1.9.1/bin/rake:23:in `<main>'
Tasks: TOP => snorby:setup => environment
  

Комментарии:

1. snorby_config.yml файл?

2. что происходит /var/www/snorby/vender/cache/ruby/1.9.1/gems/dm-rails-1.2.1/lib/dm-rails/setup.rb:11 ?

Ответ №1:

Нет метода

Ошибка здесь:

В snorby_config.yml не указана временная зона; обнаружена временная зона: рейк США / Восток прерван!

В no method error основном это означает, что объект, к которому вы обращаетесь .each , не существует. Большинство людей думают, что проблема в вызове метода, но верно обратное — это недостаток object

Способ исправить эту проблему — убедиться, что ваш object определен. Как правило, вы достигаете этого, определяя соответствующий @instance variable ; однако, похоже, ваша текущая проблема связана с snorby_config.yml

snorby_config.yml

Согласно их github example snorby_config.yml , вы должны заполнить его в config/snorby_config.yml

Просматривая ваш журнал ошибок, кажется, что Rails не может быть вызван snorby:setup , что приводит к другой ошибке, которую вы видите. Чтобы исправить это, вам нужно убедиться, что вы правильно настроили snorby :

 $ rake snorby:setup