2013-03-23 13 views
14

Ho appena reinstallato tutto il mio sistema e ho ricominciato a lavorare sui miei progetti. Ho usato e uso ancora Jekyll in alcuni di essi, ma ho un problema con la generazione automatica usando --auto o _config.yml di auto: true. Semplicemente non funziona. L'uscita per jekyll --server --auto è:"--auto" di Jekyll non funziona?

Configuration from /home/rafal/Documents/Projects/ruby-adventure/_config.yml 
Auto-regenerating enabled: /home/rafal/Documents/Projects/ruby-adventure -> /home/rafal/Documents/Projects/ruby-adventure/_site 
[2013-03-23 19:09:53] regeneration: 1 files changed 
[2013-03-23 19:09:53] INFO WEBrick 1.3.1 
[2013-03-23 19:09:53] INFO ruby 2.0.0 (2013-02-24) [x86_64-linux] 
[2013-03-23 19:09:53] WARN TCPServer Error: Address already in use - bind(2) 
[2013-03-23 19:09:53] INFO WEBrick::HTTPServer#start: pid=3288 port=4000 
[2013-03-23 19:09:53] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 
[2013-03-23 19:09:54] regeneration: 1 files changed 

L'uscita dal jekyll --no-auto --server è:

Configuration from /home/rafal/Documents/Projects/ruby-adventure/_config.yml 
Building site: /home/rafal/Documents/Projects/ruby-adventure -> /home/rafal/Documents/Projects/ruby-adventure/_site 
Successfully generated site: /home/rafal/Documents/Projects/ruby-adventure -> /home/rafal/Documents/Projects/ruby-adventure/_site 
[2013-03-23 19:12:31] INFO WEBrick 1.3.1 
[2013-03-23 19:12:31] INFO ruby 2.0.0 (2013-02-24) [x86_64-linux] 
[2013-03-23 19:12:31] WARN TCPServer Error: Address already in use - bind(2) 
[2013-03-23 19:12:31] INFO WEBrick::HTTPServer#start: pid=3327 port=4000 

... quindi nessun errore si apre. Il sito genera bene, ma quando cambio un file, non viene rigenerato automaticamente. Qualche idea, perché?

+0

Sì, può riprodurre. A volte il server deve essere riavviato dopo la modifica dei file, altrimenti non seleziona le modifiche. Vai a segnalare un errore nella pagina del progetto GitHub. –

+0

Quale versione di Jekyll stai usando? 0.12.1? L'ho usato e ha funzionato correttamente, vale a dire che si rigenera dopo aver modificato e salvato un file da guardare. Il risultato di 'jekyll --no-auto --server' non dovrebbe includere la dichiarazione' rigenerazione: 1 file modificati'. – agarie

+0

Ottenere lo stesso problema con 0.12.1. Ciò che è molto strano è che ogni volta che salvo '_config.yml', improvvisamente prende tutte le modifiche apportate da qualsiasi altra parte e rigenera i file come dovrebbe. Qualcuno sta diventando lo stesso? – simonrohrbach

risposta

43

Sembra essere causato da recenti modifiche alla gem di directory_watcher. Rotolando la gemma di nuovo Risolto il problema per me:

sudo gem uninstall directory_watcher && sudo gem install directory_watcher -v 1.4.1 
+0

Sì, l'ho riparato anche per me. Grazie! – simonrohrbach

+0

Grazie signore; ha funzionato alla grande – raf

+0

ha funzionato, ma ora scorre senza interruzioni su "5 file modificati" senza alcun salvataggio di file. idee? –

3

ero in grado di risolvere questo problema hard-bloccando la gemma directory_watcher secondo @lilakai, ma l'ho fatto in un altro modo:

Aggiunto questa linea al mio Gemfile (all'interno del gruppo di sviluppo):

gem 'directory_watcher', '1.4' 

e corse:

bundle update directory_watcher 

Tutto ha funzionato una volta fatto questo (dato che ha bloccato la mia versione a 1.4, che ho confermato tramite Gemfile.lock). Preferisco gestire tutte le mie gemme direttamente tramite bundler anziché attraverso il sistema ruby.

Mi sono imbattuto in questo problema utilizzando la versione più recente di Octopress (https://github.com/imathis/octopress) al momento di questo post.

+0

Dio, grazie per aver postato questo problema, ho corretto il bug del mio ciclo di rastrellamento. Ho impostato il mio directory_watcher su 1.4.4 – Backus