Gem 在 Gem 文件中安装配置

Gem install configuration in Gemfile

当我 运行 bundle install 时,我得到 pg gem 的错误(它需要知道 pg_config 的位置)。我可以通过手动安装 gem install ... --with-pg-config=... 轻松解决这个问题,但是在使用 git push heroku master 推送到 Heroku 时我遇到了同样的错误。我不能在那里手动安装它,因为 dyno 有一个只读文件系统。因此,有没有一种方法可以指定我想在 Gemfile 本身中使用 --with-pg-config=...,以便 Heroku 会即时按照说明进行操作?

您可以在捆绑包配置中指定 gem 安装配置选项。

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 了解更多信息。