Insbesondere der Rubin-Oci8 Edelstein. Ich habe beide 1.0.7 und 2.0.4 installiert. Ich möchte 1.0.7.Wie benötige ich eine bestimmte Version eines Rubin-Edelsteins?
Ich kann oci8 nur verlangen, aber ich bekomme nicht die Version, die ich will.
irb(main):001:0> require 'oci8'
=> true
irb(main):002:0> OCI8::VERSION
=> "2.0.4"
kann ich verlangen, den vollständigen Pfad zu der Datei, die funktioniert, ist aber nicht tragbar sein würde:
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"
ich den Edelstein-Befehl kann für die Version, die ich will, fragen, aber es scheint nicht, um tatsächlich die Bibliothek zu laden:
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
ich würde diesen letzten Ansatz bevorzugen, wenn würde die Bibliothek laden, anstatt nur bestätigt, dass es auf meinem System vorhanden ist. Was vermisse ich?
require_gem erscheint Veraltete Syntax, ersetzt durch den Gem-Befehl, auf den ich im dritten Beispiel in meiner Frage verwiesen habe (ich benutze Rubygems 1.3.5). Aber Ihr Vorschlag brachte mich zu dem Thread unter http://www.ruby-forum.com/topic/109100, der anzeigt, dass ich zuerst den Befehl gem ausgeben sollte und dann den Edelstein benötige, wie: gem 'ruby -oci8 ',: lib =>' oci8 ',: Version =>' = 1.0.7 '; erfordern 'oci8' Aber das funktioniert auch nicht für mich - ich habe immer noch mit 2.0.4 geladen. Ich vermute, dass ich durch den Unterschied zwischen dem Namen des Edelsteins (ruby-oci8) und dem Namen der zu ladenden Datei (oci8) beeinträchtigt bin. – KenB