ruby - 安装 1.9.2 后无法让 ruby​​ 1.8.7 工作

标签 ruby windows gem pik

我在 Windows 7 上通过一键安装程序安装了 ruby​​ 1.9.2。

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

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

irb 运行良好,但 require 运行不正常。

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

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

我已经尝试在 pik 外部和 pik 内部加载 gem。

这是我在 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", "."]

我在路径上没有看到 Ruby187/lib/ruby/gems/1.8...也许这就是问题所在?如果是这样,我该如何修复它(我不知道如何更改加载路径)并且有人知道为什么 pik 不工作或我可以做些什么来修复。

最后,有人知道如何摆脱 1.9.2 并全新安装 1.8.7 吗?

感谢您的帮助!

最佳答案

虽然 RubyInstaller 在软件包中包含 RubyGems,但 Ruby 1.8.x 本身并没有像 1.9.1 和 1.9.2 那样默认激活 RubyGems。

在对任何要加载的 gem 执行 require 之前,您需要require "rubygems"

由于您的脚本可以在两个版本的 Ruby 上运行,您可以这样做:

require "rubygems" unless defined?(Gem)

如果未定义(在 Ruby 1.9.2 下),它将启用 RubyGems

希望对您有所帮助。

关于ruby - 安装 1.9.2 后无法让 ruby​​ 1.8.7 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7081024/

相关文章:

ruby - 我的选择排序算法有什么问题?

ruby - to-block 一元 `&` 的优先级

ruby-on-rails - 安装 eventmachine gem 时出错

ruby-on-rails - 获取错误 Apple 推送通知 OpenSSL::SSL::SSLError

ruby-on-rails - APNS Houston gem 移动到配置文件

javascript - 使用Javascript生成Rails文本数组

ruby - 你能告诉我一个快速工作的片段来解决这个命令行选项案例吗?

c++ - 将数据作为代码执行?

Python matplotlib 在 Windows 7 上为 freetype、png 包安装问题

windows - 隐藏端口并将http加密为https