Search code examples
bundlermiddleman

middleman server error with 'listen' 3.0.3 gem instead of 2.10.1


I'm running on windows 8.1 and try to run 'middleman server' (with gem version 2.4.8 and Middleman version 3.3.12). When doing so I get the following error (see below appendix for full error message): " You have already activated listen 3.0.3, but your Gemfile requires listen 2.10.1"

Yet the gem 'Listen' is not explicitely written in my gemfile, must be a dependency with something else.

So what I did was to explicitely add in my gemfile :

gem 'listen', '~> 2.10.1'

And then run again

$bundle install

Yet when I run again '$middleman server' it does not work. So in my terminal I check which version of 'listen' gem I have and see that it's :

C:\Users\Edouard\Desktop\stylus>bundle show listen
C:/Ruby22/lib/ruby/gems/2.2.0/gems/listen-2.10.1

Would someone have a lead on how to solve that ? Because I don't have a clue..

Appendix - The whole error message I get is :

C:\Users\Edouard\Desktop\stylus>middleman server
WARN: Unresolved specs during Gem::Specification.reset:
rack (< 2.0, >= 1.0, >= 1.0.0, >= 1.4.5)
uber (~> 0.0.4)
activesupport (>= 3.1, ~> 4.1)
ffi (>= 0.5.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.10.6/lib/bundler/runtime.rb:34:in `block in setup': You have already activated listen 3.0.3, but your Gem
file requires listen 2.10.1. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.10.6/lib/bundler/runtime.rb:19:in `setup'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.10.6/lib/bundler/setup.rb:8:in `<top (required)>'
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
from C:/Ruby22/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/middleman-core-3.4.0/lib/middleman-core/load_paths.rb:29:in `setup_load_paths'
from C:/Ruby22/lib/ruby/gems/2.2.0/gems/middleman-core-3.4.0/bin/middleman:10:in `<top (required)>'
from C:/Ruby22/bin/middleman:23:in `load'
from C:/Ruby22/bin/middleman:23:in `<main>'

Solution

  • The issue is apparently linked to the gem middleman-deploy on windows 8.1. Here is the solution I apply using github :

    • remove middleman-deploy from gemfile

    • in the same folder than the gemfile create a rakefile (without any extension) on which you put require 'middleman gh-pages'

    • then after you made some changes to your work, do a commit on master branch

    • then do rake publish