簡體   English   中英

安裝 1.9.2 后無法讓 ruby 1.8.7 工作

[英]can't get ruby 1.8.7 to work after installing 1.9.2

我通過 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 內部加載寶石。

這是我在 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 嗎?

謝謝你的幫助!

While RubyInstaller include RubyGems with the package, Ruby 1.8.x itself does not activate RubyGems by default like 1.9.1 and 1.9.2 do.

在對要加載的任何 gem 執行 require 之前,您需要先require "rubygems"

由於您的腳本可以在 Ruby 的兩個版本上運行,因此您可以執行以下操作:

require "rubygems" unless defined?(Gem)

如果未定義(在 Ruby 1.9.2 下),它將啟用 RubyGems

希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM