require 'rubygems'
wird stellen Sie die Ruby-loadpath
so dass Sie erfolgreich die Edelsteine benötigen Sie durch rubygems installiert, ohne dass ein LoadError: no such file to load -- sinatra
zu bekommen.
Von rubygems-1.3.6 Dokumentation:
Wenn RubyGems erforderlich ist, # Kernel benötigt, ist mit unserem eigenen ersetzt, die von Ladeedelsteinen auf Nachfrage der Lage ist.
Wenn Sie benötigen rufen ‚x‘, das ist, was passiert:
Wenn die Datei aus dem bestehenden Ruby-Lastweg geladen werden kann, ist es ist.
Sonst werden installierte Edelsteine nach einer Datei durchsucht, die entspricht. Wenn es in Edelstein 'y' gefunden wird, ist dieser Edelstein aktiviert (hinzugefügt, um den Ladepfad).
Die normale erfordern Funktionalität von falschen Rückkehr, wenn diese Datei hat bereits geladen wurde beibehalten.
In der Dokumentation für Kernel#require zu verstehen, warum dies erforderlich ist.
RubyGems wählt die neueste installierte Version der folgenden Edelsteine aus. Wenn keine solche Software gefunden wird, wird eine Ausnahme generiert. – lkahtz
Warum ist es überflüssig? Es ist der beste Weg, um einen benötigten Edelstein zu laden. –
Eigentlich "require 'rubygems'" lädt keinen benötigten Edelstein, sondern modifiziert nur das Verhalten der "require" -Methode. –