2016-04-24 5 views
4

Beim Versuch, jekyll serve auszuführen, scheint es korrekt zu erstellen (obwohl mit Warnungen, die ich nicht beheben konnte), aber dann nicht zu liefern. jekyll build wird abgeschlossen, aber den resultierenden Dateien fehlt das kompilierte CSS.Jekyll schlägt fehl (Ruby-inkompatible Bibliotheksversion)

Ausgabe von jekyll serve:

Ignoring ffi-1.9.10 because its extensions are not built. Try: gem pristine ffi --version 1.9.10 
Ignoring curb-0.9.3 because its extensions are not built. Try: gem pristine curb --version 0.9.3 
Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2 
Ignoring ffi-1.9.10 because its extensions are not built. Try: gem pristine ffi --version 1.9.10 
Ignoring gem-wrappers-1.2.7 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.2.7 
Ignoring json-1.8.2 because its extensions are not built. Try: gem pristine json --version 1.8.2 
Ignoring thin-1.6.1 because its extensions are not built. Try: gem pristine thin --version 1.6.1 
Configuration file: /home/jtebert/OwnCloud/Projects/Programming/python/AMS/mockup/_config.yml 
      Source: /home/jtebert/OwnCloud/Projects/Programming/python/AMS/mockup 
     Destination: /home/jtebert/OwnCloud/Projects/Programming/python/AMS/mockup/_site 
Incremental build: disabled. Enable with --incremental 
     Generating... 
        done in 1.404 seconds. 
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require': incompatible library version - /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/lib/ffi_c.so (LoadError) 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/lib/ffi.rb:6:in `rescue in <top (required)>' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/ffi-1.9.10/lib/ffi.rb:3:in `<top (required)>' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/rb-inotify-0.9.7/lib/rb-inotify/native.rb:1:in `<top (required)>' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/rb-inotify-0.9.7/lib/rb-inotify.rb:1:in `<top (required)>' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/adapter/linux.rb:30:in `_configure' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/adapter/base.rb:45:in `block in configure' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/adapter/base.rb:40:in `each' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/adapter/base.rb:40:in `configure' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/adapter/base.rb:63:in `start' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/backend.rb:26:in `start' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/listener.rb:67:in `block in <class:Listener>' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/fsm.rb:120:in `instance_eval' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/fsm.rb:120:in `call' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/fsm.rb:91:in `transition_with_callbacks!' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/fsm.rb:57:in `transition' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/listen-3.0.6/lib/listen/listener.rb:90:in `start' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/jekyll-watch-1.3.1/lib/jekyll/watcher.rb:12:in `watch' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/jekyll-3.1.3/lib/jekyll/commands/build.rb:72:in `watch' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/jekyll-3.1.3/lib/jekyll/commands/build.rb:39:in `process' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/jekyll-3.1.3/lib/jekyll/commands/serve.rb:34:in `block (2 levels) in init_with_program' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program' 
     from /home/jtebert/.rvm/gems/ruby-2.0.0-p643/gems/jekyll-3.1.3/bin/jekyll:13:in `<top (required)>' 
     from /usr/local/bin/jekyll:23:in `load' 
     from /usr/local/bin/jekyll:23:in `<main>' 

Wenn ein Jekyll Projekt zu starten versucht, ich habe einen Link von Ruby-Versionen erstellen, da es für ‚Ruby2.1‘ war auf der Suche, aber ich bin nicht sicher, wenn dies beim aktuellen Problem eine Rolle spielt: ln -s /usr/bin/ruby '/usr/bin/ruby2.1'.

Laut meinem Paketmanager habe ich Ruby 2.3.0 installiert. Aber nach which ruby benutze ich 2.0.0, die es von rvm: /home/xxxxxxx/.rvm/rubies/ruby-2.0.0-p643/bin/ruby bekommt. Und wie ich bereits erwähnt habe, scheint Jekyll v2.1 für etwas zu wollen. Ich vermute, dass diese widersprüchlichen Versionen irgendwie das Problem verursachen, aber ich weiß nicht, wie ich es lösen soll.

+0

Ich habe das gleiche Problem, aber ich habe 'rvm' nicht installiert. Irgendwelche anderen Vermutungen? –

Antwort

0

Das Problem für mich schien zu sein rvm (was ich bin mir nicht sicher, wie ich am Ende verwendet). Die Lösung war, rvm mit rvm implode zu entfernen, dann installieren Sie Jekyll mit gem install jekyll neu. Sowohl die Warnungen als auch die Fehler sind verschwunden und es funktioniert ordnungsgemäß.

0

In meinem Fall hatte ich die ffi Bibliothek mit gem zu installieren:

gem install ffi

Dieser Fehler wird wahrscheinlich durch eine ältere Version der Bibliothek im System installiert verursacht. gem installiert dann die richtige Version für Ihr Projekt.