Rackfehler - LoadError: kann diese Datei nicht laden

7

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

    
AFraser 09.10.2011, 10:50
quelle

1 Antwort

21

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:

  1. Ändern Sie require 'haiku' in require File.dirname(__FILE__) + '/haiku.rb' , um Ruby explizit mitzuteilen, welche Datei geladen werden soll

  2. Fügen Sie Ihrem Ladepfad das aktuelle Arbeitsverzeichnis hinzu: $:.push(File.dirname(__FILE__)) . Auf diese Weise können Sie den require 'haiku' -Teil beibehalten.

Frost 10.10.2011, 08:08
quelle

Tags und Links