Я на удаленном сервере с без доступа в интернет .Есть приложение 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
Обратите внимание, что для аргументов есть две части, разделенные --
:
--local app/vendor/cached/pg.1.1.4.gem
--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