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-blockor 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.1conflicts 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-blockto the Gemfile of your jekyll site? - AntKbundler. If you don't have it installed rungem install bundlerfrom 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 serveto serving locally. You can add the flags--watch,--baseurl ""and also--safeto thebundle execcommand. - Virtua Creativejekyll 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. - James Taylor