安装1.9.2后无法让ruby 1.8.7工作

我通过一键安装在Windows 7安装ruby1.9.2。

现在我有一个只能在1.8.7上运行的gem

所以我安装了Pik,并试图让1.8.7工作。

irb运行良好,但要求不。

例如,如果我做了一个gem列表,它列出了问题的gem当我需要irb的gem,它说没有这样的文件加载。

当我用Pik切换回1.9.2时一切正常(即gem装载)

我已经尝试加载pik和pik之外的gem。

这里是我的负载path在1.8.7下运行:

....>ruby -ve "puts $LOAD_PATH.inspect" ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32] ["C:/Ruby187/lib/ruby/site_ruby/1.8", "C:/Ruby187/lib/ruby/site_ruby/1.8/i386-ms vcrt", "C:/Ruby187/lib/ruby/site_ruby", "C:/Ruby187/lib/ruby/vendor_ruby/1.8", " C:/Ruby187/lib/ruby/vendor_ruby/1.8/i386-msvcrt", "C:/Ruby187/lib/ruby/vendor_ru by", "C:/Ruby187/lib/ruby/1.8", "C:/Ruby187/lib/ruby/1.8/i386-mingw32", "."] 

我没有看到path上的Ruby187 / lib / ruby​​ / gems / 1.8 …也许这是问题吗? 如果是的话,我该如何解决它(我不知道如何改变加载path),有人知道为什么pik不工作,或者我可以做什么来解决。

最后是否有人知道如何摆脱1.9.2,并干净安装1.8.7?

谢谢你的帮助!

尽管RubyInstaller包含了RubyGems,但Ruby 1.8.x本身并没有像1.9.1和1.9.2那样默认激活RubyGems。

在需要加载任何宝石之前,您需要先require "rubygems"

既然你的脚本可以在两个版本的Ruby上工作,你可以这样做:

 require "rubygems" unless defined?(Gem) 

如果没有定义RubyGems(这是在Ruby 1.9.2下)

希望有所帮助。