Following the official update guide, I recently upgraded from Jekyll 2.x to Jekyll 3.1.1.
After the installation, running jekyll serve
produced the following error:
Dependency Error: Yikes! It looks like you don't have
jekyll-markdown-block
or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'Unable to activatejekyll-markdown-block-1.1.0
, becausejekyll-3.1.1
conflicts withjekyll (~> 2.0)
' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!
So from there I sudo gem update jekyll-markdown-block
, but the error still persisted. I then tried to update all of my gems:
sudo gem update `gem list | cut -d ' ' -f 1`
And then out of desperation, uninstalled all of my gems (except the core one, which I was not permitted to uninstall):
sudo gem uninstall `gem list | cut -d ' ' -f 1`
I then proceeded to install jekyll like normal (assuming I was now working from a clean slate):
sudo gem install jekyll
Fetching: liquid-3.0.6.gem (100%)
Successfully installed liquid-3.0.6
Fetching: kramdown-1.9.0.gem (100%)
Successfully installed kramdown-1.9.0
....
Parsing documentation for jekyll-watch-1.3.1
Installing ri documentation for jekyll-watch-1.3.1
Parsing documentation for jekyll-3.1.1
Installing ri documentation for jekyll-3.1.1
14 gems installed
After then installing jekyll-press
and jekyll-markdown-block
(a new error message complained I didn't have them), I then received the original error message complaining about Jekyll 2.x.
How can I fully remove Jekyll 2.x and complete the upgrade without gem dependency errors?
jekyll-markdown-block
to the Gemfile of your jekyll site? – Petiolulebundler
. If you don't have it installed rungem install bundler
from your command line. Then, add a Gemfile with all gems you need. Then, execbundle install
, when bundler will install all required gems and their dependencies. And finally, runbundle exec jekyll serve
to serving locally. You can add the flags--watch
,--baseurl ""
and also--safe
to thebundle exec
command. – Taeniajekyll init
. Serving this newly created site worked and I just ported over the old site. I'm pretty sure there were configuration changes that caused the old site to break. – Barlow