When I install a gem, it gets installed in a directory named 1.9.1, despite that not being the version of Ruby I have installed:
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.0]
$ gem which rails
.../ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails.rb
Why does this happen? I have no other Ruby versions installed (and certainly not v1.9.1).
Note that the following is also for all later Ruby versions as of this writing, not just 1.9.2.
Per the 1.9.2 release announcement:
Even though it is installed in a differently-numbered directory, it is using 1.9.2. RubyGems can show all the directories it’s using via
gem env.This ensures that a set of installed gems is only used by versions that they can actually run with (especially due to compiled C extensions), and that when upgrading to a newer, but “library compatible”, version, one doesn’t have to reinstall all gems.