конфликт «прослушивания» при установке Jekyll с помощью Docker

#ruby #jekyll #dependency-management

#ruby #jekyll #управление зависимостями

Вопрос:

Я пытаюсь установить Jekyll в Dockerfile расширенном официальном образе Jenkins (2.19.1)

Следующие команды :

 RUN apt-get install -y ruby-full rubygems
RUN gem install jekyll
 

выдает следующую ошибку :

 Step 2 : RUN gem install jekyll
 ---> Running in 197cb23c8bce
Successfully installed liquid-3.0.6
Successfully installed kramdown-1.12.0
Successfully installed mercenary-0.3.6
Successfully installed safe_yaml-1.0.4
Successfully installed colorator-1.1.0
Successfully installed rouge-1.11.1
Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    "listen" from listen conflicts with installed executable from sass-listen
Successfully installed ffi-1.9.14
Successfully installed rb-inotify-0.9.7
Successfully installed rb-fsevent-0.9.7
Successfully installed sass-listen-3.0.7
Successfully installed sass-3.5.0.pre.rc.1
Successfully installed jekyll-sass-converter-1.4.0
 

Кто-нибудь сталкивался с такой же ошибкой? Как исправить?
Спасибо.

Ответ №1:

Ошибка связана с плохой версией ruby для listen :

ВАЖНО: Ruby 2.1 официально устарел и не поддерживается! Пожалуйста, обновитесь до Ruby 2.2.5 перед установкой Listen!

Версия ruby, установленная менеджером пакетов, является ruby-2.1 . Итак, я закончил установку Ruby через RVM :

 RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 
    amp;amp; curl -sSL https://get.rvm.io | bash -s stable --ruby --gems=jekyll
 

Он устанавливает ruby-2.3 и jekyll и работает как шарм.

Комментарии:

1. Я обновился до ruby 2.3.3 через homebrew и по-прежнему получаю ту же ошибку.