W szczególności klejnot ruby-oci8. Mam zainstalowane zarówno wersje 1.0.7, jak i 2.0.4. Chcę 1.0.7.Jak mogę wymagać określonej wersji rubinowego klejnotu?
Mogę po prostu wymagać oci8, ale nie dostaję wersji, której chcę.
irb(main):001:0> require 'oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "2.0.4"
mogę wymagać korzystania z pełną ścieżkę do pliku, który działa, ale nie ma być przenośny:
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"
mogę użyć polecenia gem prosić o wersji chcę, ale nie wydaje się, aby faktycznie załadować biblioteki:
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
pewno sprzyjać to ostatnie podejście, gdyby załadować biblioteki, a nie tylko potwierdza, że jest obecny w moim systemie. czego mi brakuje?
być przestarzałą składnią, zastąpioną poleceniem gem, o którym wspomniałem w trzecim przykładzie w moim pytaniu (używam rubygemów 1.3.5). Ale Twoja sugestia doprowadziła mnie do wątku pod adresem http://www.ruby-forum.com/topic/109100, co oznacza, że najpierw powinienem wydać polecenie gem, a następnie zażądać tego klejnotu, na przykład: gem 'ruby -oci8 ',: lib =>' oci8 ',: version =>' = 1.0.7 '; wymaga 'oci8' Ale to też nie działa dla mnie - nadal kończę z załadowanym 2.0.4. Podejrzewam, że jestem hamowany przez różnicę między nazwą klejnotu (ruby-oci8) a nazwą pliku do załadowania (oci8). – KenB