HOME > etc > tips

Jekyll 버전 호환 이슈 및 해결 방법

By JS | 09 May 2018

jekyll serve로 Jekyll을 실행할 때 아래와 같은 에러로 실행이 안되는 경우가 있었습니다.

Ignoring commonmarker-0.17.9 because its extensions are not built. Try: gem pristine commonmarker --version 0.17.9
Traceback (most recent call last):
    10: from /home/user/gems/bin/jekyll:23:in `<main>'
     9: from /home/user/gems/bin/jekyll:23:in `load'
     8: from /home/user/gems/gems/jekyll-3.8.1/exe/jekyll:11:in `<top (required)>'
     7: from /home/user/gems/gems/jekyll-3.8.1/lib/jekyll/plugin_manager.rb:50:in `require_from_bundler'
     6: from /home/user/gems/gems/bundler-1.16.1/lib/bundler.rb:107:in `setup'
     5: from /home/user/gems/gems/bundler-1.16.1/lib/bundler/runtime.rb:26:in `setup'
     4: from /home/user/gems/gems/bundler-1.16.1/lib/bundler/runtime.rb:26:in `map'
     3: from /usr/lib/ruby/2.5.0/forwardable.rb:229:in `each'
     2: from /usr/lib/ruby/2.5.0/forwardable.rb:229:in `each'
     1: from /home/user/gems/gems/bundler-1.16.1/lib/bundler/runtime.rb:31:in `block in setup'
/home/user/gems/gems/bundler-1.16.1/lib/bundler/runtime.rb:313:in `check_for_activated_spec!': You have already activated jekyll 3.8.1, but your Gemfile requires jekyll 3.7.3. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)

생성한 project에서 요구하는 Jekyll 버전과 현재 설치된 버전이 달라서 그런 것 같습니다. Gem등의 의존성을 모두 제거하면 해결된다는데 간단히 bundler exec로 해결할 수 있습니다. 다만 명령어 길이가 길어집니다.

아래 명령어로 bundler를 설치하고 실행할 수 있습니다.

$ gem install bundler
$ bundle install
$ bundle exec jekyll serve