Gem文件中的Gem安装配置

时间:2016-02-04 20:37:02

标签: ruby heroku rubygems bundler pg

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

1 个答案:

答案 0 :(得分: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

运行此命令后,每次bundler需要安装mysql gem时,它都会传递你指定的标志。

访问bundle-config了解详情。