我通过一键安装在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下)
希望有所帮助。