Загруженный через браузер .gem может обойти исходную проблему с прокси, не делая установку самодостаточной. Прежде чем переносить архив на целевой хост, подготовьте:

  • Подходящие версии каждой отсутствующей объявленной зависимости.
  • Архивы, совместимые с целевыми Ruby, RubyGems и платформой.
  • Компиляторы, заголовочные файлы и системные библиотеки, необходимые любым нативным расширениям.

Явно попросите RubyGems выполнить локальную установку:

gem install ./example-1.2.3.gem --local

Замените имя файла из примера. Недостающие материалы решайте через утверждённый процесс артефактов, а не отключая проверки зависимостей. Сборка платформы с другой машины может не работать только потому, что имя и версия совпадают.

Локальный режим касается поведения RubyGems при загрузке. Скрипты сборки расширений могут выполнять другую работу, поэтому это не песочница для произвольного кода установки. Сбой расширения может указывать на отсутствующее условие сборки после того, как архив уже получен; сообщайте об этом этапе отдельно от отказа прокси.

Для повторных развёртываний поддерживайте набор зависимостей через обычный процесс упаковки проекта. Иначе изменения версий зависимостей или архитектуры могут превратить следующую разовую загрузку через браузер в другую установку.

Похожие статьи