2011-12-06 22 views
28

Tôi đang cố gắng sử dụng Gollumn Wiki, vì vậy tôi có thể chỉnh sửa GitHub Wiki nhưng dường như tôi không thể làm việc đó.Gollum Wiki - phương pháp không xác định 'mới' cho Redcarpet: Mô-đun

Tôi đang sử dụng Ubuntu 11.10, 64Bit.

Tôi đã thử điều này cũng như với Ruby 1.9, cũng là lỗi tương tự.

tôi nhân bản, tôi GitHub Wiki git repository cho dự án của tôi bắn lên Gollum, và đây là lỗi tôi nhận được:

NoMethodError tại/
phương pháp xác định 'mới' cho Redcarpet: Module

Các full stack trace là:

: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 

Mọi trợ giúp sẽ được đánh giá cao.

+0

Vì điều này có vẻ giống như một thứ cần được sửa trong' gollum', tôi đã thực hiện [yêu cầu kéo để khắc phục sự cố này] (https://github.com/github/gollum/pull/271). –

+0

[Yêu cầu kéo liên quan] (https://github.com/github/ gollum/pull/242) –

Trả lời

56

Hãy thử cài đặt lại redcarpet như thế này:

gem uninstall redcarpet 
gem install redcarpet --version=1.17.2 

Nếu sử dụng bundler, đưa vào Gemfile

gem 'redcarpet', '1.17.2' 
gem 'gollum' 
+0

Cảm ơn bạn rất nhiều loại sir! –

+5

Theo http://github.com/tanoku/redcarpet/blob/master/README.markdown > Redcarpet phiên bản 2 không tương thích ngược với các phiên bản 1.X. Lame! Bản cập nhật này đã phá vỡ trình tạo trang web mà tôi sử dụng, Jekyll. Amusingly, Redcarpet và Jekyll đều do GitHub tạo ra. Thật bất lịch sự khi họ phá vỡ phần mềm của người khác, khiến họ bực mình! –

+4

@MattHickford Ít nhất họ theo dõi semver http://semver.org/ –

8

Tôi cố gắng để sử dụng Gollum như tài liệu của tôi cho các dự án mới và vấn đề này bạn đánh tôi gần đây cũng thế. Để giải quyết điều này, tôi đã cô lập các thay đổi bằng cách sử dụng Bundler. Trong thư mục Gollum nhân bản của tôi trên máy cục bộ của tôi, tôi đã làm như sau:

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

Tiếp theo chỉ cần chạy bundle install để thiết lập mọi thứ. Khi bạn đã sẵn sàng để khởi động máy chủ gollum chạy bundle exec gollum từ dòng lệnh.

Điều này sẽ cung cấp cho bạn một máy chủ gollum bị cô lập tốt đẹp bằng cách sử dụng các đá quý mà bạn đóng gói cụ thể và sẽ giải quyết vấn đề này được thảo luận trong câu hỏi của bạn.

0

tôi đã cùng "phương pháp xác định 'mới' cho Redcarpet: Module" lỗi sau khi chạy một bundle update.

Tương tự như trên, phiên bản này được cài đặt 2 viên ngọc cùng phiên bản bên 1. Tôi có thể đi lại v1 như đã mô tả ở trên, nhưng vì tôi "không thực sự sử dụng hệ thống yêu cầu gen đầu tiên của đá quý, tôi đã xóa phiên bản 1 và đi với v2. Dễ dàng.