当我的Ruby版本不是1.9.1时,为什么gem安装在1.9.1目录下?

当我安装一个gem时,它被安装在一个名为1.9.1的目录中,尽pipe这不是我已经安装的Ruby版本:

$ 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 

为什么会发生? 我没有安装其他的Ruby版本(当然不是v1.9.1)。

根据1.9.2发布公告 :

标准库安装在/usr/local/lib/ruby/1.9.1

这个版本是一个“库兼容版本”。 Ruby 1.9.2几乎兼容1.9.1,所以库安装在1.9.1目录下。

尽pipe你仍然可以看到安装在1.9.1目录中的东西,但它使用的是1.9.2

我相信这是因为他们共享相同的标准库。

1.9.2内核有一些重大的升级,但我不认为标准库中的任何东西都被改变了,所以它们共享相同的path。 不过没什么好担心的,正如你所说,一切工作正常。