Я создаю веб-сайт, используя пакет, и я создаю его через контейнеры Docker. Видимо, когда я устанавливаю ruby-bundler, он дает мне пакет 1.15.1 вместо 1.16.4 и выдает предупреждение, что мой пакет устарел. Это приводит к некоторым другим проблемам с некоторыми файлами, которые я пытаюсь обновить.
Вот мой Dockerfile:
FROM ubuntu:17.10
RUN apt-get update && apt-get install -y \
git \
gcc \
make \
ruby \
ruby-dev \
locales \
ruby-bundler \
zlib1g-dev \
curl
RUN gem install bundler
RUN rm -rf /var/lib/apt/lists/*
# Add support for UTF-8.
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8
Строка RUN gem install bundler
исправляет проблему для меня локально, но не в образе докера. Поэтому я запустил which -a bundle
, и он дал мне два каталога: /usr/bin
и /usr/local/bin
. Кажется, новый пакет установлен на local/bin
, и когда я запускаю bundle install
, он не ищет local/bin
, поэтому выдает предупреждение.
Что было бы лучшим способом преодолеть это? Просто имейте в виду, что это должно быть автоматизировано.