2014-02-21 4 views

Antwort

8

Sagen Sie zwei Versionen des gem foo installiert haben:

require 'foo'  # => true 

Foo::VERSION  # => "2.0.1" 

:

$ gem list foo 

*** LOCAL GEMS *** 

foo (2.0.1, 2.0.0) 

Wenn Sie nur require verwenden, wird die neueste Version standardmäßig geladen werden Wenn Sie gem vor dem Aufruf require verwenden, können Sie angeben eine andere Version zu verwenden:

gem 'foo', '2.0.0' # => true 
require 'foo'  # => true 

Foo::VERSION  # => "2.0.0" 

Hinweis: mit gem ohne require anschließend den Aufruf den Edelstein nicht geladen.

4

Kernel#require aktiviert die neueste Version eines Edelsteins.

Kernel#gem (hinzugefügt von RubyGems) ermöglicht die Aktivierung bestimmter Gem-Versionen.

+4

Es scheint von der Antwort, dass "gem" ist ein Ersatz für "require", eigentlich "gem" sagt nur "require", welche Version eines Edelsteins geladen werden soll. – toro2k

+0

Vielen Dank für Ihr Wissen hier :-) +1 – Abdo