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 了解更多信息。
当我 运行 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 了解更多信息。