4

我有一个 Rails 应用程序,我想在 heroku 上运行进行测试。我正在使用 rails 3.1.3,我无法在 heroku 上获取应用程序来获取数据库。推送应用程序可以正常工作。当我尝试 heroku rake db:migrate 时,出现错误:

耙中止!请安装 postgresql 适配器:gem install activerecord-postgresql-adapter(pg 不是捆绑包的一部分。将其添加到 Gemfile。)

我尝试将 gem 'pg' 添加到 Gemfile。然后,当我将应用程序推送到 heroku 时,出现错误:

您已添加到 Gemfile: * pg FAILED: http://devcenter.heroku.com/articles/bundler !Heroku 推送被拒绝,无法通过 Bundler 安装 gem

我不明白为什么它不会安装,所以我尝试在本地安装它,看看那里是否有问题,它也不会在本地安装。我使用 RVM,当尝试捆绑安装时,我得到

Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem 原生扩展。

    /Users/username/.rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb  checking for pg_config... no No pg_config... trying

反正。如果构建失败,请再试一次 --with-pg-config=/path/to/pg_config 检查 libpq-fe.h... 否 Can't find the 'libpq-fe.h header * extconf.rb failed *由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

** 更多不重要的行 **

em 文件将继续安装在 /Users/username/.rvm/gems/ruby-1.9.2-p180@nebular2/gems/pg-0.13.1 以供检查。结果记录到 /Users/username/.rvm/gems/ruby-1.9.2-p180@nebular2/gems/pg-0.13.1/ext/gem_make.out 安装 pg (0.13.1) 和 Bundler 时出错无法继续。gem install pg -v '0.13.1'在捆绑之前确保成功。

任何人都明白发生了什么?我似乎无法弄清楚如何解决这个错误。

4

2 回答 2

1

您没有所需的标题。您必须先在系统上安装libpqdev 或 devel(开发工具取决于您的系统)然后重试bundle install

例如,fedora 的软件包是 libpqxx-devel。

于 2012-02-13T08:44:53.343 回答
1

你需要安装 PostgreSQL http://www.postgresql.org/download/macosx/

然后您需要重置一些路径(在终端中):

 $ PATH=/Library/PostgreSQL/9.1/bin:$PATH

然后只需捆绑安装。

于 2012-02-14T01:57:28.933 回答