如何在 Debian 上安装 pg gem 以在 AWS beanstalk 应用程序上使用?

Posted

技术标签:

【中文标题】如何在 Debian 上安装 pg gem 以在 AWS beanstalk 应用程序上使用?【英文标题】:How can I install pg gem on Debian for use on AWS beanstalk app? 【发布时间】:2015-07-20 01:17:35 【问题描述】:

这个已经在 *** 上以多种形式出现,但我仍然无法让它工作,尽管多次搜索和尝试。基本上我已经做到了:

sudo apt-get install postgresql-client libpq5 libpq-dev
sudo gem install pg

我试过了

bundle config build.pg --with-pg-config=/usr/lib/postgresql94/bin/pg_config
sudo gem install pg -- --with-pg-config=/usr/bin/pg_config

我仍然从日志中收到错误消息:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9 extconf.rb 
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

这让我很苦恼,有人解决了吗?我在本地机器上使用 debian jessie。

一如既往的感谢。

【问题讨论】:

【参考方案1】:

在*** .ebextensions 文件夹中的 .config 文件中配置 Elastic Beanstalk 实例上的包。

# .ebextensions/packages.config
 packages:
  yum:
  postgresql-devel: []

并重新部署应用程序。

完整的步骤,请看这个,

AWS with Elastic Beanstalk app and pg gem

【讨论】:

抱歉,来自 aws 日志的错误消息完全相同 感谢尝试。 “重新部署应用程序”是指在 aws 控制台上执行 git push 或“重建环境”吗?还是别的什么? 我做了一个 git push 并重新启动了服务器,在 aw 控制台上,仍然得到同样的错误。我将 packages.config 文件放在 .ebextensions 文件夹中。 您是否已配置 database.yml 以使用 RDS postgres 并将 DB Engine 更改为 AWS EBS 中的“postgres”? 我会从头再来一遍,然后告诉你结果。感谢您的帮助

以上是关于如何在 Debian 上安装 pg gem 以在 AWS beanstalk 应用程序上使用?的主要内容,如果未能解决你的问题,请参考以下文章

Rails:在 OS X 上安装 PG gem - 无法构建本机扩展

在 CentOS 6 上安装 pg gem

在 osx 上安装 pg gem 时出错

EC2 和 RDS 之间的备份 gem pg_dump 版本不匹配

rails 4.2.0:无法在 ubuntu 14.04 上安装 pg gem

无法使用 Mavericks 在我的 Mac 上安装 PG gem