Bundle устанавливает локальный pg gem без доступа в интернет - PullRequest
0 голосов
/ 14 февраля 2019

Я на удаленном сервере с без доступа в интернет .Есть приложение Rails.Попытка bundle install (все драгоценные камни были кэшированы с использованием пакета bundle --all to app/vendor/cached)

Поскольку нет подключения к Интернету, я использую флаг --local (Сообщает bundle использовать кэшированные значения- ссылка ): при запуске bundle install --local не получается сказать:

An error occurred while installing pg (1.1.4), and Bundler cannot continue.
Make sure that "gem install pg -v '1.1.4' --source 'https://rubygems.org'" succeeds before bundling.

Теперь кэшированный гем находится в папке приложения в app/vendor/cached/pg.1.1.4.gem Это происходит только с pg gem.

Обычно я решаю эту проблему, используя: bundle config build.pg --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10 (который в основном говорит bundle использовать эти аргументы при установке pg).Но вот когда у меня есть интернет-соединение.

Теперь я могу установить pg вручную с помощью этой команды: gem install --local app/vendor/cached/pg.1.1.4.gem -- --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10 Обратите внимание, что для аргументов есть две части, разделенные --:

  1. --local app/vendor/cached/pg.1.1.4.gem
  2. --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10

Итак, первая часть аргументов: --local app/vendor/cached/pg.1.1.4.gem

Как получить пакет для этого?На моей рабочей станции, где у меня есть подключение к Интернету, я все еще получал эту ошибку, но использовал ее, чтобы исправить: bundle config build.pg --with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10 Что в основном говорит bundle использовать эти аргументы при установке pg

Но теперь дополнительно необходимо использовать bundle локальный путь ?Похоже?(как в команде gem install? Она пытается подключиться к rubygems.org

Подведем итог: как заставить bundle install установить локальный pg gem? или преобразовать ранее показанную рабочую команду gem installобъединить команду установки?

ruby 2.5.3, rails 5.2.1, bundler 1.17.3

выход для bundle config:

build.pg (/home/myuser/.bundle/config): "--with-pg-include=/usr/pgsql-10/include --with-pg-dir=/usr/pgsql-10"

Я попробовал несколько комбинаций, используя команду bundle config build.pg, но безуспешно:

  • комплект конфигурации build.pg --with-pg-include = / usr / pgsql-10 / include --with-pg-dir = / usr / pgsql-10
  • комплектация конфигурации build.pg - локальное приложение / vendor / cached / pg.1.1.4.gem - --with-pg-include = / usr /pgsql-10 / include --with-pg-dir = / usr / pgsql-10

1 Ответ

0 голосов
/ 27 февраля 2019

Решил, запустив bundle config build.pg --with-pg-config=/usr/pgsql-10/bin/pg_config.

...