Debian下重起博客

好久没有之过博客了,一时兴起看看在我新Debian系统下Jekyll还能不能用,于是安装好Ruby,rake,rubygems然后就gem install jekylljekyll --server,在firefox中打开localhost:4000开工试下,结果不试不知道,一试还真出问题了:

Forbidden
no access permission to `/'
WEBrik/1.3.1 (Ruby/1.8.7/2010-08-16) at localhost:4000

对Ruby完全不懂,用google搜了下,说jekyll --no-auto可以查看一些信息,结果就发现了:

Configuration from $BlogPATH/_config.yml
Building site: $BlogPATH -> $BlogPATH/_site
/usr/lib/ruby/1.8/uri/common.rb:289:in `escape': private method `gsub' called for ["Jekyll"]:Array (NoMethodError)
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/post.rb:140:in `url'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/post.rb:140:in `map'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/post.rb:140:in `url'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/post.rb:227:in `to_liquid'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/post.rb:192:in `render'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/site.rb:200:in `render'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/site.rb:199:in `each'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/site.rb:199:in `render'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/../lib/jekyll/site.rb:41:in `process'
  from $GEM_HOME/gems/jekyll-0.12.1/bin/jekyll:264
  from $GEM_HOME/bin/jekyll:19:in `load'
  from $GEM_HOME/bin/jekyll:19

搜了下 jekyll array (NomethodError) 发现了这里,说是要将category改为categories,结果还真发现管用。私下猜测category是个变量,而categories是个数组或列表这类的东西,而Ruby以[]来限定列表,所以它认为[Jekyll]是个列表,所以它前面要用categories。我又把category保持不变,将[Jekyll]变为Jekyll(去掉[])试了下,也可以,看来猜得还有点谱;)。只是还是有点奇怪,原来怎么就没发现这个问题,而且github显示得也看不出有什么异常,算了,不去深究了,不怎么想学Ruby,其实也是不太愿折腾了。

Qing Fan 25 February 2013
blog comments powered by Disqus