Gem文件中的Gem安装配置

问题描述:

当我运行bundle install时,出现pg gem错误(它需要知道pg_config位于何处)。我可以很容易地通过手动安装gem install ... --with-pg-config=...来解决这个问题,但我在使用git push heroku master推送到Heroku时遇到了同样的错误。由于dyno具有只读文件系统,因此我无法在其中手动安装它。因此,有没有一种方法可以指定我想在Gemfile中使用--with-pg-config=...,这样Heroku就可以按照指令进行实时操作?Gem文件中的Gem安装配置

您可以在软件包配置中指定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了解更多信息。