Gollum Wiki - неопределенный метод "новый" для Redcarpet:Module

Я пытаюсь использовать Gollum Wiki, чтобы редактировать свою GitHub Wiki, но не могу заставить его работать.

У меня Ubuntu 11.10, 64 бит.

Я пробовал это и с Ruby 1.9, тоже с той же ошибкой.

Я клонировал свой git-репозиторий GitHub Wiki для своего проекта, запустил Gollum, и это ошибка, которую я получил:

NoMethodError at /
неопределенный метод «новый» для 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

Любая помощь будет оценена по достоинству.


person Mark Mandel    schedule 06.12.2011    source источник
comment
Поскольку это похоже на то, что нужно исправить в самом gollum, я сделал запрос на включение, чтобы исправить это. проблема.   -  person Benjamin Oakes    schedule 28.03.2012
comment
Соответствующий запрос на включение   -  person Benjamin Oakes    schedule 09.04.2012


Ответы (3)


Попробуйте переустановить redcarpet следующим образом:

gem uninstall redcarpet
gem install redcarpet --version=1.17.2

Если вы используете упаковщик, введите свой Gemfile

gem 'redcarpet', '1.17.2'
gem 'gollum'
person ffyns    schedule 06.12.2011
comment
Спасибо большое добрый господин! - person Mark Mandel; 06.12.2011
comment
Согласно github.com/tanoku/redcarpet/blob/master/README.markdown › Redcarpet версии 2 не имеет обратной совместимости с версиями 1.X. Хромой! Это обновление сломало генератор сайтов, которым я пользуюсь, Jekyll. Забавно, что Redcarpet и Jekyll созданы GitHub. Это невежливо, что они ломают чужой софт, стыдно, что ломают свой! - person Colonel Panic; 23.12.2011

Я пытаюсь использовать Gollum в качестве моей документации для новых проектов, и эта проблема недавно также поразила меня. Чтобы решить эту проблему, я изолировал изменения с помощью Bundler. В моем клонированном каталоге Golum на моей локальной машине я сделал следующее:

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

Затем просто запустите bundle install, чтобы все настроить. Когда вы будете готовы запустить сервер gollum, запустите bundle exec gollum из командной строки.

Это даст вам хороший изолированный сервер gollum с использованием драгоценных камней, которые вы специально связали, и решит эту проблему, обсуждаемую в вашем вопросе.

person SnapShot    schedule 21.12.2011

Я получил ту же ошибку «неопределенный метод« новый »для Redcarpet: Module» после запуска bundle update.

Как и выше, это установило версию 2 драгоценного камня наряду с версией 1. Я мог бы вернуться к версии 1, как описано выше, но, поскольку я на самом деле не использую систему, которая требует первого поколения драгоценного камня, я удалил версию 1. и пошел с v2.Легко.

person Jesse Smith    schedule 11.01.2012