2014-01-15 36 views
18

編輯:找到答案(請參閱我的答案!)。它涉及使用版本1.4.2而不是1.4.3,所以如果任何人有任何關於獲得1.4.3工作的想法,那也可能有幫助。謝謝!Jekyll - 錯誤運行'Jekyll服務'

編輯2:感謝下面的評論,似乎1.4.3在Windows上運行時確實有問題。 https://github.com/jekyll/jekyll/issues/1948

我剛剛在我的Windows 7電腦上安裝了jekyll。我已經與開發包一起安裝了ruby。

我已經運行gem install jekyll並且成功完成。根據jekyll文檔,我創建了一個新網站。

我遇到的問題發生在我嘗試運行jekyll serve時。請在下面找到錯誤輸出。

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)> 

我環顧四周,但我用紅寶石是新手,所以我不知道要尋找什麼或如何發現這裏的錯誤。任何幫助將非常appriciated。

感謝,

+0

你可以嘗試一個新的網站「testsite」(沒有破折號)嗎? – svoop

+0

感謝您的建議@svoop我給了一個去,但沒有運氣,同樣的錯誤。 – Joe

+0

同樣的問題也出現在'jekyll build'中。 – Jesslyn

回答

39

回答我的問題刪除離開你的第一個元素修改此,我設法找到一個解決方案。

這似乎是Jekyll版本1.4.3的問題。要解決這個問題,我卸載了jekyll並安裝了1.4.2版本。

gem uninstall jekyll

gem install jekyll --version "=1.4.2"

這樣做,一切都應該正常工作,如果你有相同的問題,因爲我的窗戶。

我想這是因爲版本1.4.3是新的(13日發佈),並在Windows上不穩定。

+2

感謝Joe。 FWIW在我推送它們之前,我正在使用Jekyll預覽我的github頁面。這意味着,按照他們的指示,我需要修改一個名爲Gemfile.Lock的生成文件中對Jekyll的引用。在我做完這些事情後,我開始在當地工作。 –

+1

@RoryBecker我可以'建立'和'服務',但'服務 - 觀察'拋出我一個錯誤。這與你說的有關嗎?因爲我沒有在Gemfile.Lock文件中找到對jekyll的任何引用。 – kleinfreund

+0

我和'jekyll serve --watch'有同樣的問題。你需要爲此安裝一些其他的寶石。我認爲這個寶石被稱爲「聽衆」,但我不能100%確定。 – Joe

0

在同樣的問題就來了哲基爾的插件「分類存檔生成器」(https://github.com/shigeya/jekyll-category-archive-plugin

最有可能你有一個插件 - 在_plugins文件夾 - 這是使用File.join()方法。例如File.join('/', dest, @dir, @category_dir_name, 'index.html')

File.join(dest, @dir, @category_dir_name, 'index.html')

+0

感謝您的答案,不幸的是我沒有安裝任何插件。 _plugins文件夾不存在,我正在進行全新安裝。 – Joe

+1

與你以前的答案和https://github.com/jekyll/jekyll/issues/1948我看到罪魁禍首是1.4.3本身。 – serverdude

+0

我看了一下gem的源代碼,例如'C:/ Ruby193/lib/ruby​​/gems/1.9.1/gems/jekyll-1.4.3/lib/jekyll /'它看起來不像'post.rb'和'page.rb'中的'destination'方法與GitHub的https://github.com/jekyll/jekyll/blob/master/lib/jekyll/post.rb和https:// github 。com/jekyll/jekyll/blob/master/lib/jekyll/page.rb 如果您要將它們交換出您的寶石內部,那麼1.4.3將起作用。如果您將正確的方法添加到'convertible.rb',您可以刪除'post.rb'和'page.rb'中的方法。 – serverdude

0

我在Ubuntu Precise 12.04上遇到了同樣的問題。問題是我安裝了ruby1.8。我也安裝了ruby1.9.1。我刪除了ruby1.8,然後Jekyll安裝好了。