2016-02-04 136 views
1

當我運行bundle install時,出現pg gem錯誤(它需要知道pg_config位於何處)。我可以很容易地通過手動安裝gem install ... --with-pg-config=...來解決這個問題,但我在使用git push heroku master推送到Heroku時遇到了同樣的錯誤。由於dyno具有隻讀文件系統,因此我無法在其中手動安裝它。因此,有沒有一種方法可以指定我想在Gemfile中使用--with-pg-config=...,這樣Heroku就可以按照指令進行實時操作?Gem文件中的Gem安裝配置

回答

1

您可以在軟件包配置中指定gem install配置選項。

Bundler從本地應用程序(app/.bundle/config)環境變量中檢索其配置,然後按照該優先級從用戶的主目錄(〜/ .bundle/config)中檢索配置。

一個非常常見的例子,即mysql gem,要求Snow Leopard用戶將配置標誌傳遞給gem install以指定在哪裏找到mysql_config可執行文件。

gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

由於該可執行文件的具體位置可能因機器而異,因此可以在每臺機器上指定這些標記。

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config 

運行此命令後,每次打包程序需要安裝mysql gem時,它會傳遞您指定的標誌。

訪問bundle-config瞭解更多信息。