在ubuntu上安装pg gem

时间:2012-12-07 19:26:02

标签: ruby-on-rails heroku gem bundle

我正在使用sqlite3开发rails应用程序。我想把它推到Heroku。在Heroku教程中,它说我必须先改变:

gem 'sqlite3'

gem 'pg'

并运行

bundle install

我收到了这个错误:

 Installing pg (0.14.1) with native extensions 
 Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
 ...
 Can't find the PostgreSQL client library (libpq)
 *** 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.
 ...

接下来我尝试了提议的解决方案here

 running gem install pg -- --with-pg-config= /usr/bin/pg_config

我也尝试过跑步:

 sudo apt-get install postgresql
 sudo apt-get install libpq-dev

 gem install pg

工作得很好..

但是

 bundle install

仍然给我同样的错误

注意:我正在使用rvm

2 个答案:

答案 0 :(得分:1)

你试过

吗?
group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

在您的gemfile中,以便您可以在开发中使用sqlite,当您按照生产推送到heroku时,它将是pg。

答案 1 :(得分:0)

将您的gemfile更改为以下内容:

gem 'sqlite3', :group => :development
gem 'pg', :group => :production

这样,您将在开发中本地使用SQL。 Heroku会忽略sqlite gem,而是使用Postgres。