2011-12-06 11 views
28

Sto provando a utilizzare Gollumn Wiki, quindi ho potuto modificare il mio Wiki GitHub ma non riesco a farlo funzionare.Gollum Wiki - metodo non definito `nuovo 'per Redcarpet: Modulo

Sono su Ubuntu 11.10, 64 bit.

Ho provato anche questo con Ruby 1.9, anche lo stesso errore.

ho clonato il mio GitHub Wiki git repository per il mio progetto, licenziato Gollum, e questo è l'errore che ho ricevuto:

NoMethodError a/
metodo non definito `nuova' per RedCarpet: Modulo

La traccia di stack completo is:

: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 

Qualsiasi aiuto sarebbe apprezzato.

+0

Poiché questo sembra qualcosa che deve essere risolto in ' gollum' stesso, ho fatto una [richiesta pull per risolvere questo problema] (https://github.com/github/gollum/pull/271). –

+0

[richiesta pull correlata] (https://github.com/github/ gollum/pull/242) –

risposta

56

provare a reinstallare redcarpet come questo:

gem uninstall redcarpet 
gem install redcarpet --version=1.17.2 

Se si utilizza bundler, mettere nel vostro Gemfile

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

Grazie molto gentile signore! –

+5

Secondo http://github.com/tanoku/redcarpet/blob/master/README.markdown > Redcarpet versione 2 non è retrocompatibile con le versioni 1.X. Lame! Questo aggiornamento ha rotto il generatore di siti che utilizzo, Jekyll. Divertenti, Redcarpet e Jekyll sono entrambi realizzati da GitHub. È scortese che abbiano rotto il software di altre persone, imbarazzando il fatto che hanno rotto il loro! –

+4

@MattHickford Almeno hanno seguito semver http://semver.org/ –

8

Sto cercando di usare Gollum come la mia documentazione per i nuovi progetti e questo problema mi ha colpito di recente anche. Per risolvere questo ho isolato le modifiche usando Bundler. Nel mio elenco Gollum clonata sulla mia macchina locale ho fatto la seguente:

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

Successivo basta eseguire bundle install per impostare tutto. Quando sei pronto per avviare il server Gollum, esegui bundle exec gollum dalla riga di comando.

Questo ti darà un bel server di gollum isolato utilizzando le gemme specificatamente impacchettate e risolverà questo problema discusso nella tua domanda.

0

ho avuto lo stesso "metodo non definito 'nuovo' per RedCarpet: Modulo" di errore dopo l'esecuzione di un bundle update.

Simile alla precedente, questa hanno installato la versione 2 della gemma lungo versione lato 1. Ho potuto andare di nuovo a v1 come descritto sopra, ma dal momento che non sto usando un sistema che richiede il primo gen della gemma, ho rimosso la versione 1 e sono andato con la v2 .facile