Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jekyll Dependency Error when Upgrading from 2.x to 3.x

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 activate jekyll-markdown-block-1.1.0, because jekyll-3.1.1 conflicts with jekyll (~> 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?

like image 709
James Taylor Avatar asked Feb 03 '16 02:02

James Taylor


3 Answers

I was having the same problem after updating to jekylls 3.1.2 from 2.x. Running jekyll serve, I received the following message:

Dependency Error: Yikes! It looks like you don't have kramdown 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: 'cannot load such file -- kramdown' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!

I did what Virtua Creative suggest on his comment:

bundle install

and then:

bundle exec jekyll serve

The initial command was giving me the same error, but the bundle exec works.

like image 181
Darien Avatar answered Oct 19 '22 08:10

Darien


Seems that the bundle envitorment is confused. Try bundle clean --force - with sudo, if you have permission issues.

like image 37
Carlo Avatar answered Oct 19 '22 06:10

Carlo


Make sure that you have installed the bundler,

sudo gem install bundler
like image 5
Lean Junio Avatar answered Oct 19 '22 06:10

Lean Junio