2014-01-15 18 views
18

EDIT: Die Antwort gefunden (siehe meine Antwort unten!). Es beinhaltet die Verwendung von Version 1.4.2 anstelle von 1.4.3. Wenn also jemand Ideen hat, 1.4.3 zum Laufen zu bringen, könnte das auch hilfreich sein. Vielen Dank!Jekyll - Fehler beim Ausführen von 'Jekyll Serve'

EDIT 2: Dank eines Kommentars unten scheint es, dass 1.4.3 ein Problem hat, wenn es unter Windows läuft. https://github.com/jekyll/jekyll/issues/1948

Ich habe gerade Jekyll auf meinem Windows 7 Computer eingerichtet. Ich habe Ruby zusammen mit dem Dev Pack installiert.

Ich habe gem install jekyll ausgeführt und das mit Erfolg abgeschlossen. Ich habe eine neue Website gemäß der Jekyll-Dokumentation erstellt. Das Problem tritt auf, wenn ich versuche, jekyll serve auszuführen. Nachfolgend finden Sie die Fehlerausgabe.

PS C:\jekyll\test-site> jekyll serve --trace 
Configuration file: C:/jekyll/test-site/_config.yml 
     Source: C:/jekyll/test-site 
    Destination: C:/jekyll/test-site/_site 
    Generating... C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir': Invalid argument - C:/jekyll/test-site/_site/C: (Errno::EINVAL) 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir' 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:221:in `block (2 levels) in mkdir_p' 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:219:in `reverse_each' 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:219:in `block in mkdir_p' 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:205:in `each' 
    from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:205:in `mkdir_p' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/convertible.rb:168:in `write' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:259:in `block in write' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:397:in `block (2 levels) in each_site_file' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:396:in `each' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:396:in `block in each_site_file' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:395:in `each' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:395:in `each_site_file' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:259:in `write' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/site.rb:41:in `process' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/command.rb:18:in `process_site' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/commands/build.rb:23:in `build' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll/commands/build.rb:7:in `process' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll:97:in `block (2 levels) in <top (required)>' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:180:in `call' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:180:in `call' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/command.rb:155:in `run' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/runner.rb:402:in `run_active_command' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/runner.rb:78:in `run!' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/delegates.rb:11:in `run!' 
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.1.5/lib/commander/import.rb:10:in `block in <top (required)> 

Ich habe sah sich um, aber ich bin ein Anfänger mit Rubin, so ich habe keine Ahnung, was zu suchen oder, wie der Fehler hier zu finden. Jede Hilfe wäre sehr geschätzt.

Danke,

Joe

+0

Können Sie eine neue Website "testsite" (kein Strich) versuchen? – svoop

+0

Danke für den Vorschlag @svoop Ich gab das ein Go aber kein Glück, der gleiche Fehler. – Joe

+0

Das gleiche Problem passiert auch mit 'Jekyll Build'. – Jesslyn

Antwort

39

Beantwortung meiner Frage zu verlassen, habe ich es geschafft, eine Lösung zu finden.

Dies scheint ein Problem mit Jekyll Version 1.4.3 zu sein. Um das Problem zu beheben, habe ich jekyll deinstalliert und Version 1.4.2 installiert.

gem uninstall jekyll

gem install jekyll --version "=1.4.2"

Dadurch und alles sollte gut funktionieren, wenn Sie das gleiche Problem wie ich auf Fenster.

Ich denke, das liegt daran, dass Version 1.4.3 ist neu (veröffentlicht am 13.) und ist instabil auf Windows.

+2

Danke Joe. FWIW Ich wollte Jekyll verwenden, um eine Vorschau meiner GitHub-Seiten zu erhalten, bevor ich sie anschickte. Das bedeutete, dass ich, nachdem ich ihre Anweisungen befolgt hatte, einen Verweis auf Jekyll ändern musste, den ich in einer generierten Datei namens Gemfile.Lock fand. Nachdem ich das gemacht hatte, begannen die Dinge für mich vor Ort zu arbeiten. –

+1

@RoryBecker Ich kann 'bauen' und' dienen', aber 'dienen --watch' wirft mir einen Fehler. Ist das irgendwie damit verbunden, was du gesagt hast? Weil ich keine Referenzen zu jekyll in den Gemfile.Lock-Dateien gefunden habe. – kleinfreund

+0

Ich hatte das selbe Problem mit 'jekyll serve --watch'. Sie müssen einige andere Edelsteine ​​dafür installieren. Ich denke, das Juwel heißt 'Zuhörer', aber ich bin mir da nicht 100% ig sicher. – Joe

0

einfach mit Jekyll Plugin "Kategorie Archive Generator" in der gleichen Ausgabe kam (https://github.com/shigeya/jekyll-category-archive-plugin)

Wahrscheinlich haben Sie ein Plugin haben - im _plugins Ordner - das ist Verwenden der File.join() -Methode. z.B. File.join('/', dest, @dir, @category_dir_name, 'index.html')

dies ändern, indem Sie das erste Element Löschen Sie mit File.join(dest, @dir, @category_dir_name, 'index.html')

+0

Danke für die Antwort, leider habe ich keine Plugins installiert. Der _plugins-Ordner ist nicht dort und ich bin auf einer neuen Installation. – Joe

+1

Mit Ihrer vorherigen Antwort und https://github.com/jekyll/jekyll/issues/1948 sehe ich, dass der Täter 1.4.3 an und für sich ist. – serverdude

+0

Ich habe mir den Quellcode aus dem Edelstein angeschaut, zB 'C:/Ruby193/lib/ruby ​​/ edelsteine ​​/ 1.9.1/edelsteine ​​/ jekyll-1.4.3/lib/jekyll /' sieht nicht so aus Die Methoden 'destination' in' post.rb' und 'page.rb' entsprechen denen in GitHub https://github.com/jekyll/jekyll/blob/master/lib/jekyll/post.rb und https: // github .com/jekyll/jekyll/blob/master/lib/jekyll/page.rb Wenn Sie sie in Sie Edelsteine ​​Interna tauschen, dann funktioniert 1.4.3. Sie können die Methode in 'post.rb' und' page.rb' löschen, wenn Sie die richtige Methode zu 'convertible.rb' hinzufügen – serverdude

0

Ich hatte das gleiche Problem auf Ubuntu Precise 12.04. Das Problem war, dass ich Ruby1.8 installiert hatte. Ich hatte auch Ruby1.9.1 installiert. Ich entfernte Ruby1.8, und dann installierte Jekyll gut.

Verwandte Themen