Невозможно установить плагин из-за неразрешенных зависимостей - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь установить плагин в докернизированной среде Redmine .

Я получаю следующую ошибку:

Bundler could not find compatible versions for gem "json":
   In snapshot (Gemfile.lock):
     json (= 2.2.0)

   In Gemfile:
     httparty (~> 0.13.7) was resolved to 0.13.7, which depends on
       json (~> 1.8)

     simplecov (~> 0.14.1) was resolved to 0.14.1, which depends on
       json (>= 1.8, < 3)

Я пытался установить плагин из контейнера, где я могу разрешить зависимости, однако при перезапуске контейнера - из-за природы слоев изображений докера - установленные драгоценные камни исчезли.

Я пытался создать собственный образ с помощью следующего файла Dockerfile:

FROM redmine:latest
USER root

RUN set -eux; \
        apt-get update; \
        apt-get install -y \
                build-essential

RUN bundle update

RUN gem install httparty

RUN gem install json -v 1.8.6

RUN bundle update

RUN bundle install

RUN chmod -R 777 /home/redmine/.bundle

Сборка образа успешна, однако, когда docker-compose up попадает в часть переноса плагина, он выдает ту же ошибку.

Мой docker-compose.yml:

version: '3.1'

services:

  redmine:
    build: .
    restart: always
    ports:
      - 80:3000
    volumes:
        - files:/usr/src/redmine/files
#        - ./sc:/home/redmine/git
#        - ./themes:/usr/src/redmine/public/themes
#        - ./configuration.yml:/usr/src/redmine/config/configuration.yml
        - ./plugins:/usr/src/redmine/plugins
#        - ./gems:/usr/local/bundle/gems
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: supersecret
      REDMINE_PLUGINS_MIGRATE: 1

  db:
    image: mysql:5.7
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect='SET NAMES UTF8;' --innodb-flush-log-at-trx-commit=0
    restart: always
    volumes:
        - db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: supersecret
      MYSQL_DATABASE: redmine

volumes:
  files:
  db:

Кому-нибудь удалось решить подобную проблему?

...