Hello, Jekyll folks. I’m scratching my head over the following notices I’m seeing after a (seemingly) successful build:
$ /home/jekyll-bot/gems/bin/bundle exec jekyll build
Source locally installed gems is ignoring #<Bundler::StubSpecification name=zlib version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=syslog version=0.1.2 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=strscan version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=stringio version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=readline-ext version=0.2.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=rbs version=3.4.4 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=racc version=1.7.3 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=pathname version=0.3.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=openssl version=3.2.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=nkf version=0.2.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=json version=2.7.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=io-wait version=0.3.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=io-nonblock version=0.3.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=io-console version=0.7.2 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=ffi version=1.16.3 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=fcntl version=1.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=etc version=1.4.3 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=erb version=4.0.4 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=digest version=3.1.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=debug version=1.9.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=date version=3.3.4 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=cgi version=0.4.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=bigdecimal version=3.1.6 platform=ruby> because it is missing extensions
Configuration file: /var/www/servers/example.com/docs/staging/_github-main/_config.yml
Source: /var/www/servers/example.com/docs/staging/_github-main
Destination: /var/www/servers/example.com/docs/staging/_github-main/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 7.558 seconds.
Auto-regeneration: disabled. Use --watch to enable.
The source material including _config.yml is git clone’d locally, and it doesn’t have anything that I can see is controversial:
I think your ruby installation doesn’t have the dev tools/extensions needed to install the different gems properly? some things need a C compiler (?) to build out the extension, ruby is not always installed with this.
Usually you would see errors when you do bundle install - did you not do that?
Thanks, @rdyar. The puzzling thing is this Jekyll has been working just fine for 1–2 years, and only recently stopped behaving as expected. There were no errors on the initial install, and I haven’t pinpointed what changed to make it break.
When I run bundle install jekyll, it mentioned csv was missing:
$ bundle install
Source locally installed gems is ignoring #<Bundler::StubSpecification name=zlib version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=syslog version=0.1.2 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=strscan version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=stringio version=3.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=readline-ext version=0.2.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=pathname version=0.3.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=openssl version=3.2.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=io-wait version=0.3.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=io-nonblock version=0.3.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=fcntl version=1.1.0 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=etc version=1.4.3 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=digest version=3.1.1 platform=ruby> because it is missing extensions
Source locally installed gems is ignoring #<Bundler::StubSpecification name=date version=3.3.4 platform=ruby> because it is missing extensions
Bundler::GemNotFound: Could not find csv-3.3.4.gem for installation
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/source/rubygems.rb:178:in `install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/gem_installer.rb:55:in `install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/gem_installer.rb:17:in `install_from_spec'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/parallel_installer.rb:133:in `do_install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/parallel_installer.rb:118:in `install_serially'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/parallel_installer.rb:94:in `call'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer/parallel_installer.rb:66:in `call'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer.rb:199:in `install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer.rb:84:in `block in run'
/usr/lib/ruby/vendor_ruby/rubygems.rb:835:in `block in open_file_with_flock'
/usr/lib/ruby/vendor_ruby/rubygems.rb:823:in `open'
/usr/lib/ruby/vendor_ruby/rubygems.rb:823:in `open_file_with_flock'
/usr/lib/ruby/vendor_ruby/rubygems.rb:809:in `open_file_with_lock'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/process_lock.rb:13:in `block in lock'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/shared_helpers.rb:105:in `filesystem_access'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/process_lock.rb:12:in `lock'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer.rb:71:in `run'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/installer.rb:23:in `install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/cli/install.rb:74:in `run'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/cli.rb:245:in `block in install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/settings.rb:157:in `temporary'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/cli.rb:244:in `install'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/cli.rb:35:in `dispatch'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/cli.rb:29:in `start'
/home/jekyll-bot/gems/gems/bundler-2.7.1/exe/bundle:28:in `block in <top (required)>'
/home/jekyll-bot/gems/gems/bundler-2.7.1/lib/bundler/friendly_errors.rb:118:in `with_friendly_errors'
/home/jekyll-bot/gems/gems/bundler-2.7.1/exe/bundle:20:in `<top (required)>'
/home/jekyll-bot/gems/bin/bundle:25:in `load'
/home/jekyll-bot/gems/bin/bundle:25:in `<main>'
An error occurred while installing csv (3.3.4), and Bundler cannot continue.
In Gemfile:
jekyll-feed was resolved to 0.17.0, which depends on
jekyll was resolved to 4.4.1, which depends on
csv
…which I resolved with:
$ gem install csv -v 3.3.4
Fetching csv-3.3.4.gem
Successfully installed csv-3.3.4
Ignoring date-3.3.4 because its extensions are not built. Try: gem pristine date --version 3.3.4
Ignoring digest-3.1.1 because its extensions are not built. Try: gem pristine digest --version 3.1.1
Ignoring etc-1.4.3 because its extensions are not built. Try: gem pristine etc --version 1.4.3
Ignoring fcntl-1.1.0 because its extensions are not built. Try: gem pristine fcntl --version 1.1.0
Ignoring io-nonblock-0.3.0 because its extensions are not built. Try: gem pristine io-nonblock --version 0.3.0
Ignoring io-wait-0.3.1 because its extensions are not built. Try: gem pristine io-wait --version 0.3.1
Ignoring openssl-3.2.0 because its extensions are not built. Try: gem pristine openssl --version 3.2.0
Ignoring pathname-0.3.0 because its extensions are not built. Try: gem pristine pathname --version 0.3.0
Parsing documentation for csv-3.3.4
Installing ri documentation for csv-3.3.4
Done installing documentation for csv after 6 seconds
1 gem installed
The gem pristine […] --version […] route worked for some other gems, but not others. I ended up using gem install […] --version […] on the missing gems, and that’s resolved my issue.
Thank you for the pointers – I am most grateful to you.