2 Stimmen

Wie erstelle ich eine globale Rakefile in Windows 7?

Ich möchte in der Lage sein, ein Rakefile unter Windows 7 zu erstellen, das ich mit dem Befehl rake -g oder rake --system aufrufen kann. Wo speichere ich das Rakefile? Ich habe versucht, ein Rake-Verzeichnis unter meinem Benutzerverzeichnis (c:\users\me\rake) zu erstellen, aber wenn ich rake -g hello_world aufrufe, bricht Rake mit einem Fehler ab und sagt, dass es nicht weiß, wie man die :hello_world Aufgabe erstellt, was mich glauben lässt, dass es das Rakefile einfach nicht sehen kann. So sieht mein globales Rakefile aus:

require 'rake'

desc "eine Hallo-Welt-Aufgabe"    
task :hello_world do    
  puts "Hallo aus Ihrem globalen Rakefile"    
end

0 Stimmen

Wenn es nicht weiß, wie man die Aufgabe erstellt, bedeutet das, dass Rake die Rakefile sieht. Zeigen Sie uns also Ihr Rakefile

3voto

dalesmithtx Punkte 247

Ich habe es herausgefunden - es stellt sich heraus, dass Rake erwartet, dass globale Rakefiles die Erweiterung ".rake" haben. Ich habe das obige Beispiel zu folgendem geändert:

require 'rake'

desc "eine Hallo-Welt-Aufgabe"    
task :hello_world do    
  puts "hallo von {__FILE__}"    
end

Und habe es als "testing.rake" in meinem c:\users\me\rake\ Verzeichnis gespeichert. Ich habe ein Eingabeaufforderungsfenster in ein zufälliges Verzeichnis geöffnet und "rake -g hello_world" ausgeführt und folgende Ausgabe erhalten:

C:\Windows\system32>rake -g hello_world
(in C:/Windows/system32)
hallo von C:/Users/me/Rake/testing.rake

1voto

tilleryj Punkte 13979

Rake sucht nach der Rakefile in dem aktuellen Verzeichnis, es sei denn, es wird ausdrücklich angegeben, wie folgt:

rake --rakefile C:\benutzer\ich\rake\[rakefile]

0voto

Steve Byrne Punkte 123

Rake unter Windows sucht nach $HOME/Rake/*.rake, wenn das Ziel lokal nicht gefunden werden kann. Wenn HOME nicht gesetzt ist, wird es c:\Users\ich\Rake verwenden, wie es die anderen Teilnehmer bereits erwähnt haben.

Aber wenn Sie HOME (wie ich, in einer gemischten Cygwin/Windows 7 Welt) gesetzt haben, wissen Sie jetzt, wo Rake Ihre globalen Rake-Dateien erwartet.

Übrigens finde ich es nicht notwendig, den -g-Parameter zu übergeben; Rake scheint die globalen Definitionen von selbst zu finden. Ich denke, der einzige Fall, in dem -g gerechtfertigt ist, ist, wenn Sie sicher sein müssen, dass es keine Rake-Aufgabe mit dem gleichen Namen lokal gibt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X