Redmine + Bundler - method_missing“has_key?”

时间:2011-07-18 15:41:50

标签: ruby-on-rails redmine

这是问题详情:

undefined method `has_key?' for nil:NilClass
/usr/local/redmine-1.2.0/lib/redmine/menu_manager.rb:77:in `add'
/usr/local/redmine-1.2.0/lib/redmine/menu_manager.rb:371:in `push'
/usr/local/redmine-1.2.0/lib/redmine.rb:153
/usr/local/redmine-1.2.0/lib/redmine/menu_manager.rb:301:in `map'
/usr/local/redmine-1.2.0/lib/redmine.rb:152
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/config/initializers/30-redmine.rb:5
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in `load_without_new_constant_marking'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in `load'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:622:in `load_application_initializers'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:621:in `each'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:621:in `load_application_initializers'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:176:in `process'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
/usr/local/redmine-1.2.0/config/environment.rb:20
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:547:in `new_constants_in'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/railties/lib/tasks/misc.rake:4
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:176:in `invoke_prerequisites'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:174:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:157:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:62:in `run'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/bin/rake:32
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/bin/rake:19:in `load'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/bin/rake:19
Tasks: TOP => db:migrate => environment

Gemfile:

source "http://rubygems.org"
gem "rails", "2.3.11"
gem "rack", "1.1.1"
gem "i18n", "0.4.2"
gem "rubytree"
gem "coderay",  "~> 0.9.7"

ruby​​gem版本: 1.3.6

顺便说一句,我尝试了menu_manager.rb补丁文件,但是它返回了一个错误: http://www.redmine.org/attachments/5368/menu_manager.patch

/usr/local/redmine-1.2.0/lib/redmine/menu_manager.rb:1: syntax error, unexpected tIDENTIFIER, expecting kDO or '{' or '('
diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb
            ^
/usr/local/redmine-1.2.0/lib/redmine/menu_manager.rb:1: syntax error, unexpected tIDENTIFIER, expecting $end
diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb
                                          ^
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/lib/redmine.rb:2
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/usr/local/redmine-1.2.0/config/initializers/30-redmine.rb:5
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in `load_without_new_constant_marking'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:173:in `load'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:622:in `load_application_initializers'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:621:in `each'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:621:in `load_application_initializers'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:176:in `process'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
/usr/local/redmine-1.2.0/config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
/usr/local/redmine-1.2.0/config/environment.rb:20
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:547:in `new_constants_in'
/usr/local/redmine-1.2.0/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
/usr/local/redmine-1.2.0/vendor/rails/railties/lib/tasks/misc.rake:4
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:176:in `invoke_prerequisites'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:174:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:157:in `invoke_with_call_chain'
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `each'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:62:in `run'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/gems/rake-0.9.2/bin/rake:32
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/bin/rake:19:in `load'
/usr/local/redmine-1.2.0/vendor/bundle/ruby/1.8/bin/rake:19
Tasks: TOP => db:migrate => environment

2 个答案:

答案 0 :(得分:0)

使用RVM应该解决这个问题。安装RVM并节省您的时间。

答案 1 :(得分:0)

在您的Gemfile中

,将rubytree版本设置为0.7.0

gem "rubytree", "0.7.0"