I installed rails 3 beta, and the gem i18n (active_support
dependency).
After this, when I migrated my app to rails 2.3.5, it was 2.3.2, it
became to raise an error when I ran rcov reports.
The error is:
/usr/lib/ruby/gems/1.8/gems/i18n-0.3.3/lib/i18n/core_ext/string/
interpolate.rb:88:in %': one hash required (ArgumentError) from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/formatters/ text_report.rb:21:inprint_info’
from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/formatters/
text_report.rb:10:in execute' from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/formatters/ base_formatter.rb:65:ineach’
from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/formatters/
base_formatter.rb:65:in each_file_pair_sorted' from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/formatters/ text_report.rb:8:inexecute’
from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/
code_coverage_analyzer.rb:146:in dump_coverage_info' from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/ code_coverage_analyzer.rb:146:ineach’
from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/lib/rcov/
code_coverage_analyzer.rb:146:in `dump_coverage_info’
from /usr/lib/ruby/gems/1.8/gems/rcov-0.9.6/bin/rcov:428
from /usr/lib/ruby/1.8/test/unit.rb:278
I updated rcov to 0.9.7.1 but the error remains the same.
Then I removed i18n gem and everything came back to normal again.
We will be migrating to rails 3 soon, so how I can solve this?
Sven, maybe you could explain just how the i18n gem and the built-in
Active Support core ext are meant to interact? As that ticket states,
when I ran the Active Support tests, it used the method from my i18n
gem.
Yeah, I that problem should go away with upgrading the I18n gem?
Sven, maybe you could explain just how the i18n gem and the built-in
Active Support core ext are meant to interact? As that ticket states,
when I ran the Active Support tests, it used the method from my i18n
gem.
basically Rails shipped the I18n gem as a vendored gem from 2.2.0 (which
introduced I18n support in Rails) until 3.0.0 (which stops shipping any
dependencies as vendored code, afaik).
ActiveSupport is not the only library in Rails that vendored stuff but
here’s where these gems were located:
At first users were forced to use the vendored gem no matter which gem
version had been released and installed on the user’s system in the
meanwhile:
Starting from 2.3.3.1 users could install the gem locally and
ActiveSupport would prefer that one over the vendored/shipped version,
but ONLY if the version is I18n >= 0.1.3 and <= 0.2.0 (that’s what that
‘~> 0.1.3’ expression says):
Starting from Rails 3 afaik Bundler will install and use whatever
version you tell it through the Gemfile. I haven’t really looked closely
at that though.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.