Read more

NoMethodError: undefined method `cache' for Gem:Module

Thomas Eisenbarth
January 26, 2016Software engineer at makandra GmbH

I got this error when running Rails 2.3 tests for Rails LTS Show archive.org snapshot . More stacktrace:

NoMethodError: undefined method `cache' for Gem:Module
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:212:in `each'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:146:in `to_a'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:146:in `cache'
    /opt/vagrant_ruby/lib/ruby/1.8/fileutils.rb:243:in `inject'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:146:in `each'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:146:in `inject'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:146:in `cache'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:127:in `lookup'
    /vagrant/rails-2-3-lts-repository/railties/lib/rails_generator/lookup.rb:140:in `instance'
Illustration online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
Read more Show archive.org snapshot

You probably use a quite new version of RubyGems (I had 2.5.1 when encountering this).

The solution: Downgrade RubyGems to version 1.8.25:

gem update --system 1.8.25
Posted by Thomas Eisenbarth to makandra dev (2016-01-26 09:56)