'bundler: failed to load command: jekyll

When running bundle exec jekyll serve I get bundler: failed to load command: jekyll

MacOS 12.0.1

Gemfile:

gem "jekyll", "~> 4.2"

# Plugins
group :jekyll_plugins do
  gem "jekyll-admin" # https://github.com/jekyll/jekyll-admin
  gem "jekyll-feed" # https://github.com/jekyll/jekyll-feed
  gem "jekyll-seo-tag", github: "jekyll/jekyll-seo-tag" # https://github.com/jekyll/jekyll-seo-tag
  gem "jekyll-archives" # https://github.com/jekyll/jekyll-archives
  gem "jekyll-typogrify" # https://github.com/myles/jekyll-typogrify
  gem "jekyll-autoprefixer" # https://github.com/vwochnik/jekyll-autoprefixer
  gem "jekyll-sitemap" # https://github.com/jekyll/jekyll-sitemap
end

gem "webrick", "~> 1.7"
gem "json", "~> 2.6"

bundle exec jekyll serve --trace gives me:

/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/3.0.0/pathname.rb:20: warning: already initialized constant Pathname::TO_PATH
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:20: warning: previous definition of TO_PATH was here
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/3.0.0/pathname.rb:22: warning: already initialized constant Pathname::SAME_PATHS
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:22: warning: previous definition of SAME_PATHS was here
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/3.0.0/pathname.rb:34: warning: already initialized constant Pathname::SEPARATOR_LIST
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:34: warning: previous definition of SEPARATOR_LIST was here
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/3.0.0/pathname.rb:35: warning: already initialized constant Pathname::SEPARATOR_PAT
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:35: warning: previous definition of SEPARATOR_PAT was here
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/3.0.0/pathname.rb:41: warning: already initialized constant Pathname::ABSOLUTE_PATH
/Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/pathname-0.2.0/lib/pathname.rb:41: warning: previous definition of ABSOLUTE_PATH was here
Doing `require 'backports'` is deprecated and will not load any backport in the next major release.
Require just the needed backports instead, or 'backports/latest'.
Configuration file: /Users/jrdnbwmn/Documents/Repos/GitHub/learnuxd/_config.yml
            Source: /Users/jrdnbwmn/Documents/Repos/GitHub/learnuxd
       Destination: /Users/jrdnbwmn/Documents/Repos/GitHub/learnuxd/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
       Jekyll Feed: Generating feed for posts
bundler: failed to load command: jekyll (/Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/jekyll)
eval (eval at <anonymous> ((execjs):1:213), <anonymous>:1:10): TypeError: Cannot read property 'version' of undefined (ExecJS::ProgramError)
    from (execjs):1:213
    from (execjs):19:14
    from (execjs):1:40
    from Object.<anonymous> ((execjs):1:58)
    from Module._compile (internal/modules/cjs/loader.js:1085:14)
    from Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    from Module.load (internal/modules/cjs/loader.js:950:32)
    from Function.Module._load (internal/modules/cjs/loader.js:790:12)
    from Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/execjs-2.8.1/lib/execjs/external_runtime.rb:39:in `exec'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/execjs-2.8.1/lib/execjs/external_runtime.rb:21:in `eval'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/execjs-2.8.1/lib/execjs/runtime.rb:64:in `eval'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:170:in `runtime'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails/processor.rb:53:in `process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/autoprefixer-rails-9.8.6.5/lib/autoprefixer-rails.rb:16:in `process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:27:in `block (2 levels) in process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:23:in `open'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:23:in `block in process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:20:in `each'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll/autoprefixer/autoprefixer.rb:20:in `process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-autoprefixer-1.0.2/lib/jekyll-autoprefixer.rb:24:in `block in <top (required)>'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/hooks.rb:103:in `block in trigger'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/hooks.rb:102:in `each'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/hooks.rb:102:in `trigger'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:234:in `write'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/site.rb:82:in `process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:28:in `process_site'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:65:in `build'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/build.rb:36:in `process'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `each'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/exe/jekyll:15:in `<top (required)>'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/jekyll:25:in `load'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/jekyll:25:in `<top (required)>'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli/exec.rb:58:in `load'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli/exec.rb:58:in `kernel_load'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli/exec.rb:23:in `run'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli.rb:478:in `exec'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli.rb:31:in `dispatch'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/cli.rb:25:in `start'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.30/exe/bundle:49:in `block in <top (required)>'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/site_ruby/3.0.0/bundler/friendly_errors.rb:103:in `with_friendly_errors'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.2.30/exe/bundle:37:in `<top (required)>'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/bundle:23:in `load'
    from /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/bundle:23:in `<main>'

gem env gives me:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.2.30
  - RUBY VERSION: 3.0.2 (2021-07-07 patchlevel 107) [arm64-darwin21]
  - INSTALLATION DIRECTORY: /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0
  - USER INSTALLATION DIRECTORY: /Users/jrdnbwmn/.gem/ruby/3.0.0
  - RUBY EXECUTABLE: /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin/ruby
  - GIT EXECUTABLE: /opt/homebrew/bin/git
  - EXECUTABLE DIRECTORY: /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin
  - SPEC CACHE DIRECTORY: /Users/jrdnbwmn/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/jrdnbwmn/.rbenv/versions/3.0.2/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - arm64-darwin-21
  - GEM PATHS:
     - /Users/jrdnbwmn/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0
     - /Users/jrdnbwmn/.gem/ruby/3.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/jrdnbwmn/.rbenv/versions/3.0.2/bin
     - /opt/homebrew/Cellar/rbenv/1.2.0/libexec
     - /Users/jrdnbwmn/.rbenv/shims
     - /opt/homebrew/bin
     - /opt/homebrew/sbin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Library/Apple/usr/bin
     - /Users/jrdnbwmn/bin

I've tried several solutions (including updating and reinstalling bundle and jekyll and adding webrick and json gems) to no avail. This is a new machine and must have set something up incorrectly but I'm not sure what it is.



Solution 1:[1]

I stumbled upon this question when I ran into the issue of trying to set up github pages. It seems that in the latest version of ruby that is installed with homebrew webrick is not included by default. Here is the github issue: https://github.com/github/pages-gem/issues/752. Recommendations are to either use ruby 2.7 or to manually add webrick in using the command below.

This can be resolved by running the command

bundle add webrick

and then repeating the command

bundle exec jekyll serve

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Aesir