ruby-on-rails - rake 中止!未定义的方法 `each' 为零 :NilClass

标签 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

最佳答案

没有方法

错误在这里:

No time_zone specified in snorby_config.yml; detected time_zone: US/Eastern rake aborted!


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

关于ruby-on-rails - rake 中止!未定义的方法 `each' 为零 :NilClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483725/

相关文章:

mysql - 将主键定义转储到 schema.rb 中

ruby-on-rails - 使用 Thread.new 在 rails 上发送电子邮件

ruby-on-rails - Ruby - 异步邮件

ruby-on-rails - Solr (Sunspot) 运行,但不会启动

sql - Ruby on Rails 迁移中的 unsigned int 字段?

ruby-on-rails - 如何访问RoR中environment.rb中定义的变量?

c++ - 是否可以全局设置 qmake debug?

mongodb - 在默认位置以外的位置运行 mongod 会在启动 mongod 进程后几秒钟使 mongod 崩溃?

编辑文件时 Rstudio rsession 挂起

ruby - $ GEM_HOME和$ GEM_PATH在旅客中设置错误