2013-05-01 4 views
1

나는 이와 비슷한 게시물을 발견했지만 문제를 해결하는 방법을 모르겠다.jekyll --server가 오류를 반환하는 이유

나는 루비 1.9.3-p392를 설치하고 난 실행할 때 다음과 같은 오류가 함께 rbenv 한 지킬 --server :

Configuration from /Users/seiju/Sites/a8os/_config.yml 
Building site: /Users/seiju/Sites/a8os -> /Users/seiju/Sites/a8os/_site 
Liquid Exception: undefined method `xmlschema' for nil:NilClass in sitemap.xml 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/filters.rb:57:in `date_to_xmlschema' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/strainer.rb:43:in `invoke' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/context.rb:75:in `invoke' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:50:in `block in render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `each' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `inject' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/variable.rb:38:in `render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:106:in `block in render_all' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `each' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:93:in `render_all' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/block.rb:82:in `render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/template.rb:124:in `render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/liquid-2.5.0/lib/liquid/template.rb:132:in `render!' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/convertible.rb:79:in `do_layout' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/page.rb:100:in `render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:204:in `block in render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:203:in `each' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:203:in `render' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.rb:41:in `process' 
/Users/seiju/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/bin/jekyll:264:in `<top (required)>' 
/Users/seiju/.rbenv/versions/1.9.3-p392/bin/jekyll:23:in `load' 
/Users/seiju/.rbenv/versions/1.9.3-p392/bin/jekyll:23:in `<main>' 
Build Failed 

난 너무 혼란 스러워요 고정에 어디서부터 시작 모른다 이 문제. 나는 또한 지킬 버전 (0.12.1)을 사용하고있다. 당신이 존재하지 않는 최상위 post 개체에 대한 <url> 항목을 만들려고하는 것처럼

--- 
--- 

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="/sitemap.xsl"?> 
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  
<url> 
<loc>http://aceeightofspades.com/</loc> 
<lastmod>{{ site.time | date_to_xmlschema }}</lastmod> 
<changefreq>daily</changefreq> 
<priority>1.0</priority> 
</url> 
<url> 
<loc>http://aceeightofspades.com{{ post.url }}/</loc> 
<lastmod>{{ post.date | date_to_xmlschema }}</lastmod> 
<changefreq>weekly</changefreq> 
<priority>0.8</priority> 
</url> 
</urlset> 
+0

'''undefined method'xmlschema 'for nil : sitemap.xml'''의 NilClass -'sitemap.xml'은 어떻게 생겼습니까? – matt

+0

@matt 위의 sitemap.xml을 추가했습니다. 문제에 대한 아이디어가 있습니까? –

+0

Jekyll 소스 코드에서 date_to_xmlschema는 날짜 인 인수를 취합니다. [55 번째 줄] (https://github.com/mojombo/jekyll/blob/master/lib/jekyll/filters.rb)을 참조하십시오. 그게 도움이 되니? – hlh

답변

3

것 같습니다 :

다음은 내 sitemap.xml의입니다. 내 생각에 당신이 원하는 것은 귀하의 게시물을 반복하고 각 게시물에 대한 항목을 만드는 것입니다. 이 같은

뭔가 : 그 블록 post 내에서 더 이상 널되지 않도록

{% for post in site.posts %} 
<url> 
    <loc>http://aceeightofspades.com{{ post.url }}/</loc> 
    <lastmod>{{ post.date | date_to_xmlschema }}</lastmod> 
    <changefreq>weekly</changefreq> 
    <priority>0.8</priority> 
</url> 
{% endfor %} 

이, {% for post in site.posts %}{% endfor %}와 두 번째 <url> 블록을 래핑합니다.

+0

빙고! @matt에게 감사드립니다. 정말 감사드립니다. –

관련 문제