When I try to update my jekyll project on our debian buster server, I get this error:
$ bundle exec jekyll build
Traceback (most recent call last):
12: from /usr/local/bin/jekyll:23:in `<main>'
11: from /usr/local/bin/jekyll:23:in `load'
10: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `<top (required)>'
9: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `require'
8: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:191:in `<top (required)>'
7: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:12:in `require_all'
6: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:12:in `each'
5: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:13:in `block in require_all'
4: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:13:in `require'
3: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:3:in `<top (required)>'
2: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:4:in `<module:Jekyll>'
1: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:5:in `<module:Drops>'
/var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll/drops/collection_drop.rb:10:in `<class:CollectionDrop>': undefined method `delegate_method_as' for Jekyll::Drops::CollectionDrop:Class (NoMethodError)
Did you mean? DelegateClass
The same with just jekyll build
.
I already tried this too:
bundle update
It used to work like this a few months ago.
My project is this: https://github.com/freifunk-kiel/startseite/blob/master/Gemfile
I tried to reinstall jekyll:
PACKAGES="$(dpkg -l |grep jekyll|cut -d" " -f3|xargs )"
apt remove --purge $PACKAGES
I had these packages
jekyll ruby-jekyll-coffeescript ruby-jekyll-feed ruby-jekyll-gist ruby-jekyll-paginate ruby-jekyll-sass-converter ruby-jekyll-watch
then reinstall:
apt install jekyll
this will install the same packages again:
jekyll ruby-jekyll-coffeescript ruby-jekyll-feed ruby-jekyll-gist ruby-jekyll-paginate ruby-jekyll-sass-converter ruby-jekyll-watch
But this didn’t help either
UPDATE:
I also tried uninstall all jekyll packages and then install newer jekyll version with
gem install jekyll jekyll-feed jekyll-gist jekyll-paginate jekyll-sass-converter jekyll-coffeescript
but this gives me another error:
# jekyll build --trace
Traceback (most recent call last):
27: from /usr/local/bin/jekyll:23:in `<main>'
26: from /usr/local/bin/jekyll:23:in `load'
25: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/exe/jekyll:8:in `<top (required)>'
24: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
23: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
22: from /var/lib/gems/2.5.0/gems/jekyll-4.2.0/lib/jekyll.rb:195:in `<top (required)>'
21: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
20: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
19: from /var/lib/gems/2.5.0/gems/jekyll-sass-converter-2.1.0/lib/jekyll-sass-converter.rb:4:in `<top (required)>'
18: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
17: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
16: from /var/lib/gems/2.5.0/gems/jekyll-sass-converter-2.1.0/lib/jekyll/converters/scss.rb:3:in `<top (required)>'
15: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
14: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
13: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc.rb:31:in `<top (required)>'
12: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc.rb:31:in `require_relative'
11: from /var/lib/gems/2.5.0/gems/sassc-2.4.0/lib/sassc/native.rb:3:in `<top (required)>'
10: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
9: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
8: from /usr/lib/ruby/vendor_ruby/ffi.rb:9:in `<top (required)>'
7: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
6: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
5: from /usr/lib/ruby/vendor_ruby/ffi/ffi.rb:31:in `<top (required)>'
4: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
3: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
2: from /usr/lib/ruby/vendor_ruby/ffi/platform.rb:32:in `<top (required)>'
1: from /usr/lib/ruby/vendor_ruby/ffi/platform.rb:37:in `<module:FFI>'
/usr/lib/ruby/vendor_ruby/ffi/platform.rb:57:in `<module:Platform>': uninitialized constant FFI::Platform::CPU (NameError)
2
Answers
Uninstall the apt version of jekyll with:
IMPORTANT! Clean-up your dependency libs after uninstalling all debian packages:
Then install all needed jekyll packages via gem, e.g.:
Then in your project directory run:
After uninstalling, try to install Jekyll as ruby gem:
this is the only thing that helped me out