Heroku 应用程序缺少 postgresql 适配器,不会 Rake db:migrate with Rails 3.1.3



我有一个rails应用程序,我想在heroku上运行以进行测试。我使用的是rails 3.1.3,我无法让应用程序在heroku上清理数据库。不过,推送应用程序效果不错。当我尝试heroku rake db:migrate时,我得到了错误:

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

我试着把宝石"pg"添加到宝石文件中。然后当我把应用程序推到heroku时,我得到了错误:

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

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

Gem::Installer::ExtensionBuild错误:错误:未能生成本机Gem扩大

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

无论如何。如果构建失败,请使用重试--使用pg config=/path/to/pg_config检查libpq fe.h…no找不到'libpq fe3.h头*extconf.rb失败*由于某些原因,可能缺少必要的库和/或头,无法创建Makefile。检查mkmf.log文件以获取更多详细信息。您可能需要配置选项。

**更多不重要的线路**

em文件将保持安装在/用户/用户名/.rvm/gems/ruby-1.9.2-p180@nebular2/gems/pg-0.13.1以供检查。结果记录到/用户/用户名/.rvm/gems/ruby-1.9.2-p180@nebular2/gems/pg-0.113.1/ext/gem_make.out安装pg(0.13.1)时出错,Bundler无法持续确保gem install pg -v '0.13.1'在捆绑。

有人知道发生了什么吗?我似乎想不出如何纠正这个错误。

您需要安装PostgreSQLhttp://www.postgresql.org/download/macosx/

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

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

然后只需捆绑安装即可。

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

例如,fedora的包是libpqxx-devel。

最新更新