Dependency Error: jekyll-planet

I thought I’d attempt to make a “planet” (compilation of my favorite RSS feeds) using plugin jekyll-planet. I followed the instructions here and successfully completed steps 1 and 2. However when I run jekyll build (or bundle exec jekyll build), I see the following:

[...]
jekyll-planet/0.2.1 on Ruby 2.6.5 (2019-10-01) [x86_64-linux]
Configuration file: /home/kmf76/gits/planet/_config.yml
  Dependency Error: Yikes! It looks like you don't have jekyll-planet or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. If you've run Jekyll with `bundle exec`, ensure that you have included the jekyll-planet gem in your Gemfile as well. The full error message from Ruby is: 'cannot load such file -- jekyll-planet' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/! 
                    ------------------------------------------------
      Jekyll 4.0.0   Please append `--trace` to the `build` command 
                     for any additional information or backtrace. 
                ------------------------------------------------

Repeating it with the --trace flag:

Jekyll::Errors::MissingDependencyException: jekyll-planet
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/external.rb:73:in `rescue in block in require_with_graceful_fail'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/external.rb:58:in `block in require_with_graceful_fail'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/external.rb:57:in `each'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/external.rb:57:in `require_with_graceful_fail'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:30:in `require_gems'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:22:in `conscientious_require'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:124:in `setup'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/site.rb:34:in `initialize'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:30:in `new'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:30:in `process'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `block in process_with_graceful_fail'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `each'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/command.rb:89:in `process_with_graceful_fail'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/gems/jekyll-4.0.0/exe/jekyll:15:in `<top (required)>'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/bin/jekyll:23:in `load'
  /home/kmf76/gits/planet/vendor/bundle/ruby/2.6.0/bin/jekyll:23:in `<top (required)>'

Can anyone point me in the right direction? Thanks.

EDIT: While I was posting this I tried reinstalling Ruby and in the process I posted inconsistent outputs above. (Different Ruby versions were shown). I’ve since re-run and confirmed the same issue persists. But there is still an inconsistency in the output—Ruby 2.6.5 is shown first, then ruby 2.6.0. Not sure what that means or if it’s related to my problem.

The plugin is sorta outdated in the sense that the last push to Rubygems was in 2014.
From the look of the source-code, the loading mechanism for this plugin is jekyll/planet.

/cc @geraldb for proper instructions for contemporary users.

1 Like

Thanks for the notification.

The Jekyll Planet is really just a single-file script (and NOT a jekyll plugin). All the feed reader machinery is packaged into the planet pluto feed reader (see https://github.com/feedreader).

Anyways, as far as I can tell from your debug report you MUST install the gem / tool first (it’s NOT packaged or bundled with jekyll itself) e.g.

$ gem install jekyll-planet

and than follow the instructions and run / type:

$ ruby -r 'jekyll/planet' -e 'JekyllPlanet.main'

Good luck. Cheers. Prost.

PS: Rereading your report. Again the Jekyll Planet tool is NOT a plugin (it’s just a script / “standalone” tool) - remove it from _config.yml plugins / gems if you have added it somehow than retry jekyll build. The Jekyll Planet tool only generates blog posts (from templates) via web feeds, that’s all.

1 Like

FYI: To avoid any confusion with the setup the gem formerly known as jekyll-planet is now “un-gemified” and a simple single-file script called planet.rb that you can change as you please and run using just $ ruby ./planet.rb. See the https://github.com/feedreader/planet.rb source repo for the updated documentation. Happy Planet! PS: For a live planet.rb sample website (built with jekyll / github pages) see http://feedreader.github.io/jekyll.planet.sample.