Configuração do pacote: Passando parâmetros para a instalação de gems

Ao tentar implantar um aplicativo Ruby on Rails com capistrano em um novo servidor, recebi um erro quando o bundle tentou instalar o pg gem. Ele estava falhando ao construir a extensão nativa da gema porque não conseguia encontrar o caminho para pg_config .

A mensagem de erro pg gentilmente me aconselhou sobre como especificar o caminho pg_config , mas eu precisava que o bundler soubesse disso e não o comando de instalação do gem .

Com uma pesquisa rápida, encontrei a configuração do pacote . Esta ferramenta permite anexar parâmetros ao comando de instalação de uma gema específica. Tudo que você precisa fazer é executar o seguinte comando:

bundle config build.pg --with-pg-config=/usr/local/pgsql/bin/pg_config

O que adiciona as informações de configuração em ~ / .bundle / config :

BUNDLE_BUILD__PG: --with-pg-config=/usr/local/pgsql/bin/pg_config

Esta opção também pode ser passada para o comando bundle install , mas no caso do pg gem o caminho será o mesmo entre os aplicativos, então acredito que tê-lo globalmente no servidor é a melhor opção.