В частности, драгоценный камень ruby-oci8. У меня установлены версии 1.0.7 и 2.0.4. Я хочу 1.0.7.
Я могу просто потребовать oci8, но я не получаю нужную версию.
irb(main):001:0> require 'oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "2.0.4"
Мне может потребоваться использование полного пути к файлу, который работает, но не будет переносимым:
irb(main):001:0> require 'C:\Ruby\lib\ruby\gems\1.8\gems\ruby-oci8-1.0.7-x86-mswin32-60\lib\oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "1.0.7"
Я могу использовать команду gem для запроса версии, которую я хочу, но она фактически не загружает библиотеку:
irb(main):001:0> gem 'ruby-oci8', :lib=>'oci8', :version=>'=1.0.7'
=> true
irb(main):002:0> OCI8::VERSION
NameError: uninitialized constant OCI8
from (irb):2
Я бы определенно поддержал этот последний подход, если бы загружал библиотеку, а не просто подтверждал, что она присутствует в моей системе. Что мне не хватает?