Ruby - LoadError auf verlangen
Habe ich die folgenden zwei Dateien: main.rb
und sort.rb
befindet sich im gleichen Ordner. In main.rb
ich habe den folgenden code:
require 'sort'
Sort.insertion_sort([1,2,3,4]).each {|x| print "#{x}, "}
Wenn ich versuche, und führen Sie diese über ruby main.rb
bekomme ich die folgende Fehlermeldung:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- sort (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from main.rb:1:in `<main>'
Irgendwelche Ideen, warum?
Dank
komisch, es funktioniert für mich. was bedeutet Sortieren.rb enthalten?
ich verschrottet Sortieren und versucht, zu verlangen rexml/syncenumerator und habe den gleichen Fehler
Verwandte Frage: stackoverflow.com/questions/2900370/...
ich verschrottet Sortieren und versucht, zu verlangen rexml/syncenumerator und habe den gleichen Fehler
Verwandte Frage: stackoverflow.com/questions/2900370/...
InformationsquelleAutor Aly | 2011-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Besseren Weg, um
intead
Danke An @Jörg W Mittag.
Oder fügen Sie ein Pfad, in dem ruby soll nach Ihren Dateien suchen (kann ein Sicherheitsrisiko sein):
wenn er läuft aus dem Verzeichnis main.rb-Datei, sonst wird es hier das problem
Ich bin mit aus dem Verzeichnis mit den wichtigsten.rb in es
Bitte nicht immer tun. Es ist ein Grund, warum
.
entfernt wurde von der$LOAD_PATH
. Wenn Sie möchten, dass eine Datei relativ zum Pfad der aktuell ausgeführten Datei, verwenden Sierequire_relative
, das ist, was es dort für.Grimm: Beachten Sie jedoch, dass diese Art der relativen
$LOAD_PATH
manipulation ist immer noch riechen, da Sie Ihre Paket-manager sollte das für Sie tun. E. g. RubyGems automatisch fügt Ihr Gemlib
directory oder anderen directory/N Sie angeben, zu der$LOAD_PATH
sowieso, wie Bundler, und wenn Sie verwenden einige andere Paket-management-system, dann ist es der packager und/oder der system-administrator die Arbeit zu tun. Sollten Sie das nicht tun müssen Sie selbst.InformationsquelleAutor Vasiliy Ermolovich
versuchen
require 'sort.rb'
und prüfen Sie die Berechtigungenja es sollte funktionieren, die Angabe der Durchwahl nur helfen und manchmal bekommen eine bessere Fehlerbeschreibung. vor allem für die Rechte bzw. die Datei-system-Probleme
InformationsquelleAutor Adrien Jarthon
würden Sie auch:
require directory/sort.rb
InformationsquelleAutor Ray301
In Ruby 1.9.2,
$:
nicht das aktuelle Verzeichnis ('.'
). Entwederrelative_require
statt,oder tun.$: << '.'
Jörg Mittag sagt, dass
$: << '.'
sollte nicht getan werden, weil es ein Sicherheits-Risiko.InformationsquelleAutor Andrew Grimm