# Gemfile requests Liquid 3.0.6

**URL:** <https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254>\
**Category:** Help\
**Created:** [March 6, 2017, 9:50am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254 "2017-03-06T09:50:44Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rien](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/rien/32/34_2.png) [@Rien](https://talk.jekyllrb.com/u/Rien)\
**Post date:** [March 6, 2017, 9:50am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/1 "2017-03-06T09:50:44Z")

</div>

While upgrading to jekyll 3.4.1 I decided it was a good idea to do a general update of all gems that I have installed.  
When I then ran “jekyll serve” it complained: “You have already activated liquid 4.0.0, but your Gemfile requires liquid 3.0.6.”

I did remove the old Gemfile.lock and the gemfile itself does not specify any version of liquid.

Any idea what might cause this?

---

<div class="post-metadata">

**Author:** ![unixfreaxjp](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/unixfreaxjp/32/107_2.png) [@unixfreaxjp](https://talk.jekyllrb.com/u/unixfreaxjp)\
**Post date:** [March 6, 2017, 11:36pm UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/2 "2017-03-06T23:36:18Z")

</div>

I think it’s only a _Warning_ level. Happened to me too. I was exactly doing what you mentioned also, I guess there are more sysadmins has same common sense too.

The problem was shown in this error message:

```auto
$ /usr/local/bin/jekyll --version
WARN: Unresolved specs during Gem::Specification.reset:
      jekyll-watch (~> 1.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/usr/local/lib/ruby/gems/2.2/gems/bundler-1.14.6/lib/bundler/runtime.rb:40:in `block in setup': You have already activated liquid 3.0.6, but your Gemfile requires liquid 4.0.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
  from /usr/local/lib/ruby/gems/2.2/gems/bundler-1.14.6/lib/bundler/runtime.rb:25:in `map'
  from /usr/local/lib/ruby/gems/2.2/gems/bundler-1.14.6/lib/bundler/runtime.rb:25:in `setup'
  from /usr/local/lib/ruby/gems/2.2/gems/bundler-1.14.6/lib/bundler.rb:100:in `setup'
  from /usr/local/lib/ruby/gems/2.2/gems/jekyll-3.4.1/lib/jekyll/plugin_manager.rb:36:in `require_from_bundler'
  from /usr/local/lib/ruby/gems/2.2/gems/jekyll-3.4.1/exe/jekyll:9:in `<top (required)>'
  from /usr/local/bin/jekyll:22:in `load'
  from /usr/local/bin/jekyll:22:in `<main>'

```

The solution is I think it would be better to not messing with `Gemfile` or the locks since the `bundle update` is taking a good care for it, so either I should decide to rollback liquid to version 3.0.6 or to override the jekyll command by prepending `bundle exec`. I picked the last option.

It works as workaround, for example:

```auto
$ which jekyll
/usr/local/bin/jekyll
$ bundle exec /usr/local/bin/jekyll --version
jekyll 3.4.1
$ uname&&date
FreeBSD
Tue Mar 7 08:32:39 JST 2017

```

So far so good with my blog, so…yes it’s bothering but if it still works, I’ll leave it as per it is. Will debug it if somehow making more serious error.

---

<div class="post-metadata">

**Author:** ![Rien](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/rien/32/34_2.png) [@Rien](https://talk.jekyllrb.com/u/Rien)\
**Post date:** [March 7, 2017, 7:38am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/3 "2017-03-07T07:38:24Z")

</div>

I am doing the same, but it really is an ugly work around. It should not be necessary imo.

---

<div class="post-metadata">

**Author:** ![ashmaroli](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@ashmaroli](https://talk.jekyllrb.com/u/ashmaroli)\
**Post date:** [March 8, 2017, 1:57am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/4 "2017-03-08T01:57:01Z")

</div>

When there’s a `Gemfile` in your project root and multiple versions of gems in your system, its recommended to **always prepend** jekyll commands with `bundle exec`

```auto
$ bundle exec jekyll build

```

```auto
$ bundle exec jekyll serve

```

A

---

<div class="post-metadata">

**Author:** ![Rien](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/rien/32/34_2.png) [@Rien](https://talk.jekyllrb.com/u/Rien)\
**Post date:** [March 8, 2017, 3:01pm UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/5 "2017-03-08T15:01:00Z")

</div>

Hmm, does that mean that when I remove Liquid 3.0.6 things will work as expected?

---

<div class="post-metadata">

**Author:** ![ashmaroli](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@ashmaroli](https://talk.jekyllrb.com/u/ashmaroli)\
**Post date:** [March 9, 2017, 1:26am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/6 "2017-03-09T01:26:42Z")

</div>

> [@Rien](#):
>
> Hmm, does that mean that when I remove Liquid 3.0.6 things will work as expected?

You’ll stop getting the `You have already activated liquid 4.0.0, but your Gemfile requires liquid 3.0.6.` error but some other gem might start throwing the error based on gems installed on your system.

So why not opt to go with the recommended route?  
Install Bundler and prepend `bundle exec` to all jekyll commands except `jekyll new`

A

---

<div class="post-metadata">

**Author:** ![Rien](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/rien/32/34_2.png) [@Rien](https://talk.jekyllrb.com/u/Rien)\
**Post date:** [March 9, 2017, 7:06am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/7 "2017-03-09T07:06:58Z")

</div>

Hmm, ok, I’ll use that.  
I was only half joking anyhow 😉

---

<div class="post-metadata">

**Author:** ![unixfreaxjp](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/unixfreaxjp/32/107_2.png) [@unixfreaxjp](https://talk.jekyllrb.com/u/unixfreaxjp)\
**Post date:** [March 24, 2017, 7:21am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/8 "2017-03-24T07:21:44Z")

</div>

We got your joke, brother. Since I saw no healthier option too.

---

<div class="post-metadata">

**Author:** ![solochris14](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/solochris14/32/2319_2.png) [@solochris14](https://talk.jekyllrb.com/u/solochris14)\
**Post date:** [August 2, 2017, 6:26pm UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/9 "2017-08-02T18:26:27Z")

</div>

I’m experiencing the same issue.

What was your solution?

---

<div class="post-metadata">

**Author:** ![Rien](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/rien/32/34_2.png) [@Rien](https://talk.jekyllrb.com/u/Rien)\
**Post date:** [August 4, 2017, 11:43am UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/10 "2017-08-04T11:43:54Z")

</div>

I have started using `bundle exec`

---

<div class="post-metadata">

**Author:** ![niccottrell](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/niccottrell/32/441_2.png) [@niccottrell](https://talk.jekyllrb.com/u/niccottrell)\
**Post date:** [August 31, 2017, 2:46pm UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/11 "2017-08-31T14:46:05Z")

</div>

Deleting Gemfile.lock fixed this for me

---

<div class="post-metadata">

**Author:** ![solochris14](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.jekyllrb.com/solochris14/32/2319_2.png) [@solochris14](https://talk.jekyllrb.com/u/solochris14)\
**Post date:** [October 28, 2017, 11:42pm UTC](https://talk.jekyllrb.com/t/gemfile-requests-liquid-3-0-6/254/12 "2017-10-28T23:42:08Z")

</div>

I did this but no luck.
