Установка Ruby Gem в Dockerized приложение - PullRequest
0 голосов
/ 01 января 2019

Я хочу установить awesome_print в моё dockerized приложение ruby.Запуск

docker-compose run application_name gem install awesome_print 

говорит «Успешно установлен awesome_print-1.8.0», однако он не появляется в моем Gemfile даже после запуска

docker-compose run application_name bundle install

Как я могу установить awesome_print в мой закрепленныйприложение?

1 Ответ

0 голосов
/ 01 января 2019

Команда RubyGems gem на самом деле является гораздо более старым менеджером пакетов, который предшествовал пакету.

Запуск gem install foo просто устанавливает гем в ваш локальный репозиторий (где-то в папке).Он не добавляет драгоценный камень в ваш Gemfile и не выполняет разрешение дерева зависимостей, которое делает Bundler, чтобы убедиться, что ваши драгоценные камни действительно совместимы.

Bundler построен поверх gem.Чтобы установить gems с помощью bundler (это то, что вы всегда хотите делать), вы добавляете gem в ваш Gemfile и запускаете bundle install.

gem 'awesome_print', '~> 1.8'

В Bundler также есть команда bundle add, которая добавит гем в Gemfile и установит ваш пакет, например:

bundle add awesome_print --version "~> 1.8"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...