не могу заставить работать ruby ​​1.8.7 после установки 1.9.2 - PullRequest
2 голосов
/ 16 августа 2011

Я установил ruby ​​1.9.2 с помощью программы установки одним щелчком мыши на Windows 7.

Теперь у меня есть гем, который работает только на 1.8.7

Итак, я установил Pik и пытаюсь получить1.8.7 работает.

irb работает нормально, но require - нет.

Например, если я создаю список драгоценных камней, он отображает соответствующий камень. Когда мне требуется gem в irb, он говорит нет.такой файл для загрузки.

Когда я использую Pik, чтобы переключиться обратно на 1.9.2, все в порядке (т. е. загружается драгоценный камень)

Я попытался загрузить драгоценные камни вне 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?

Спасибо за любую помощь!

1 Ответ

1 голос
/ 16 августа 2011

Хотя RubyInstaller включает RubyGems в пакет, сам Ruby 1.8.x по умолчанию не активирует RubyGems, как это делают 1.9.1 и 1.9.2.

Вам необходимо require "rubygems", прежде чем делать запрос к любому из драгоценных камней, которые вы хотите загрузить.

Поскольку ваш скрипт может работать в обеих версиях Ruby, вы можете сделать что-то вроде этого:

require "rubygems" unless defined?(Gem)

, который включит RubyGems, если не определен (который находится под Ruby 1.9.2)

Надеюсь, это поможет.

...