Versuche, durch das Tekpub-Rack-Tutorial zu gehen, aber in diesem Fehler zu laufen.
%Vor%Es gibt eine Datei mit dem Namen haiku.rb im selben Verzeichnis wie die App, die ich ausführen möchte, aber ich bekomme den obigen Fehler, wenn ich versuche, das Programm auszuführen. Hier ist der Code:
%Vor%Ich bin mir sicher, dass es ein kleiner Fehler ist, da der Code derselbe wie im Tutorial ist und es für ihn funktioniert ...
Danke
Sie sollten sich den Ruby Load-Pfad ansehen (entweder $LOAD_PATH
oder $:
). Standardmäßig hat Ruby einen Ladepfad, der überall dort enthalten ist, wo Ihre Edelsteine installiert sind. Deshalb können Sie require 'haml'
ausführen, ohne den vollständigen Pfad zum Speicherort Ihres haml-Edelsteins anzugeben.
Wenn Sie require 'haiku'
eingeben, sagen Sie Ruby im Grunde, dass Sie irgendwo im Ladepfad nach einer Datei mit dem Namen haiku.rb
suchen, und% LoadError
kommt von ruby, wenn Sie Ihre haiku.rb
-Datei nicht in einer der Dateien finden Verzeichnisse, die in $LOAD_PATH
(oder $:
, das ist nur eine Abkürzung für $LOAD_PATH
) aufgelistet sind.
Sie können dies auf eine (mindestens) zwei Arten lösen:
Ändern Sie require 'haiku'
in require File.dirname(__FILE__) + '/haiku.rb'
, um Ruby explizit mitzuteilen, welche Datei geladen werden soll
Fügen Sie Ihrem Ladepfad das aktuelle Arbeitsverzeichnis hinzu: $:.push(File.dirname(__FILE__))
. Auf diese Weise können Sie den require 'haiku'
-Teil beibehalten.
Tags und Links ruby ruby-on-rails rack