6

我正在尝试在我的新 Macbook 上使用Octopressbundle exec jekyll --server (基于 Jekyll 的博客引擎),运行时出现此错误:

(缩短路径)

/path/to/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /path/to/markdown.rb:118:in `convert'
...

(完整路径)

/usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `convert'
...

查看第 118 行,我看到:

RDiscount.new(content, *@rdiscount_extensions).to_html

如果我将此行替换为“hello”之类的字符串,则服务器启动正常。但是如果我用类似的东西替换它RDiscount.new("hello").to_html,我会得到同样的错误。但是,启动 irb 并运行RDiscount.new("hello").to_html正常。

有什么想法有什么问题吗?我可以在我拥有的另一台计算机上启动服务器,但我不确定如何弄清楚两台计算机在做什么之间有什么区别(某个库的不同版本?)。

4

3 回答 3

3

只是一个想法,但您是否尝试过更新您的 gemset?最新版本的 jekyll 是 0.11.2,它默认使用 maruku 而不是 RDiscount。

https://github.com/mojombo/jekyll/wiki/Install

于 2012-04-18T15:19:12.603 回答
1

我要做的第一件事是检查所有版本。ruby -v,gem -v,gem list -d sinatra,gem list -d octopress。等并寻找差异。

于 2012-04-23T09:10:37.360 回答
0

我也有这个错误。我通过创建一个新的 RVM gemset 并重新运行 bundle install 解决了这个问题。

另见https://github.com/rtomayko/rdiscount/issues/66

$ rvm gemset create gaga
'gaga' gemset created (/Users/chaffee/.rvm/gems/ruby-1.9.3-p125@gaga).
$ rvm use @gaga
Using /Users/chaffee/.rvm/gems/ruby-1.9.3-p125 with gemset gaga
$ bundle install
...
Installing rdiscount (1.6.8) with native extensions 
...
$ irb
>> require 'rdiscount'
=> true
>> RDiscount.new("hello").to_html
=> "<p>hello</p>\n"
于 2012-05-21T21:45:37.577 回答