Redmine plugin: Uninitialized constant I18n
Question
We just installed Redmine Charts (http://github.com/mszczytowski/redmine_charts/tree/master) and the associated OpenFlashChart plugin but when we start the Ruby server, we get the error below. Our steps were to:
- Download the tar file for charts
- Untar into $REDMINE_ROOT/plugins dir
- $REDMINE_ROOT/script/plugin install http://svn.pullmonkey.com/plugins/trunk/open_flash_chart/
Try to start server
=> Booting WEBrick... /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:276:in
load_missing_constant': uninitialized constant Redmine::I18n (NameError) from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:in
const_missing' from /usr/local/apps/redmine-0.8/vendor/plugins/mszczytowski-redmine_charts-e3c5010466d7585d987bc1018e94daee90906a5d/lib/redmine_charts/line_data_converter.rb:4 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require' from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
require' from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:inrequire' from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in
new_constants_in' from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:inrequire' from /usr/lib64/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:102:in
require_or_load' ... 27 levels... from /usr/lib64/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/server.rb:39 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require' from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
require' from script/server:3
Solution
Redmine's I18n
is a recent addition for multiple languages. It's only available in the trunk version of Redmine, the 0.8.x versions of Redmine use the older GLoc
plugin.
You have a couple of options to fix this:
- Upgrade to the trunk version of Redmine
- Ask the developer to make the plugin compatible with the released version of Redmine (I personally do this for my Redmine plugins)
- Or try to fix the
I18n
errors yourself
To fix the errors, you will need to go through the code and replace all mentions of I18n
with GLoc
and then create an older version of the translations in the plugins lang/
directory.
Eric Davis
OTHER TIPS
Looking at the source of redmine_charts, it requires Redmine::I18n - there are several instances of "include Redmine::I18n".
See also http://www.redmine.org/news/22 for more information about Rails, Redmine, and I18n.
It appears that you may have versioning (Rails and Redmine) issues.