27

我正在尝试使用Gollumn Wiki,所以我可以编辑我的 GitHub Wiki,但我似乎无法让它工作。

我在 Ubuntu 11.10 上,64 位。

我也用 Ruby 1.9 试过这个,同样的错误。

我为我的项目克隆了我的GitHub Wiki git 存储库,启动了 Gollum,这是我收到的错误:

NoMethodError at /
undefined method `new' for Redcarpet:Module

完整的堆栈跟踪是:

:public is no longer used to avoid overloading Module#public, use :public_folder instead
from /var/lib/gems/1.8/gems/gollum-1.3.1/bin/../lib/gollum/frontend/app.rb:17
[2011-12-06 15:20:15] INFO  WEBrick 1.3.1
[2011-12-06 15:20:15] INFO  ruby 1.8.7 (2011-06-30) [x86_64-linux]
== Sinatra/1.3.1 has taken the stage on 4567 for development with backup from WEBrick
[2011-12-06 15:20:20] INFO  WEBrick::HTTPServer#start: pid=22017 port=4567 
NoMethodError - undefined method `new' for Redcarpet:Module:
/var/lib/gems/1.8/gems/gollum-1.3.1/lib/gollum/markup.rb:463:in `render'
/var/lib/gems/1.8/gems/gollum-1.3.1/lib/gollum/page.rb:171:in `formatted_data'
/var/lib/gems/1.8/gems/gollum-1.3.1/bin/../lib/gollum/frontend/app.rb:190:in `show_page_or_file'
/var/lib/gems/1.8/gems/gollum-1.3.1/bin/../lib/gollum/frontend/app.rb:42:in `GET /'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1211:in `call'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1211:in `compile!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `[]'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `route!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:788:in `route_eval'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:772:in `route!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:821:in `process_route'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:819:in `catch'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:819:in `process_route'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:771:in `route!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:770:in `each'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:770:in `route!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:886:in `dispatch!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:706:in `call!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `invoke'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `catch'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:871:in `invoke'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:706:in `call!'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:692:in `call'
/var/lib/gems/1.8/gems/rack-protection-1.1.4/lib/rack/protection/xss_header.rb:22:in `call'
/var/lib/gems/1.8/gems/rack-protection-1.1.4/lib/rack/protection/path_traversal.rb:16:in `call'
/var/lib/gems/1.8/gems/rack-protection-1.1.4/lib/rack/protection/json_csrf.rb:17:in `call'
/var/lib/gems/1.8/gems/rack-protection-1.1.4/lib/rack/protection/base.rb:47:in `call'
/var/lib/gems/1.8/gems/rack-protection-1.1.4/lib/rack/protection/xss_header.rb:22:in `call'
/var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/nulllogger.rb:9:in `call'
/var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/head.rb:9:in `call'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/showexceptions.rb:21:in `call'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1334:in `call'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1403:in `synchronize'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1334:in `call'
/var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/handler/webrick.rb:59:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/var/lib/gems/1.8/gems/rack-1.3.5/lib/rack/handler/webrick.rb:13:in `run'
/var/lib/gems/1.8/gems/sinatra-1.3.1/lib/sinatra/base.rb:1295:in `run!'
/var/lib/gems/1.8/gems/gollum-1.3.1/bin/gollum:125
/usr/local/bin/gollum:19:in `load'
/usr/local/bin/gollum:19

任何帮助,将不胜感激。

4

3 回答 3

55

尝试像这样重新安装 redcarpet:

gem uninstall redcarpet
gem install redcarpet --version=1.17.2

如果使用捆绑器,请放入您的Gemfile

gem 'redcarpet', '1.17.2'
gem 'gollum'
于 2011-12-06T04:48:35.947 回答
8

我正在尝试使用 Gollum 作为新项目的文档,最近这个问题也困扰着我。为了解决这个问题,我使用 Bundler 隔离了更改。在我本地机器上的克隆 Gollum 目录中,我执行了以下操作:

# Create a Gemfile with the following:
source "http://rubygems.org"
gem 'redcarpet', '1.17.2'
gem 'gollum'

接下来只需运行bundle install以设置所有内容。当您准备好启动 gollum 服务器时bundle exec gollum,请从命令行运行。

这将为您提供一个不错的隔离 gollum 服务器,使用您专门捆绑的 gem,并将解决您的问题中讨论的这个问题。

于 2011-12-21T12:50:26.213 回答
0

在运行一个bundle update.

与上面类似,这个安装了版本 2 的 gem 和版本 1。我本可以回到 v1 如上所述,但由于我实际上并没有使用需要第一代 gem 的系统,所以我删除了版本 1并选择了 v2。简单。

于 2012-01-11T22:33:39.997 回答