1

我正在使用 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.
 ...

接下来我尝试了这里提出的解决方案:

 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

4

2 回答 2

1

你试过了吗

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

group :production do
  gem 'pg'
end

在你的gemfile中,这样你就可以在开发中使用sqlite,当你推送到heroku作为生产时,它将是pg。

于 2012-12-07T20:07:40.357 回答
0

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

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

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

于 2012-12-07T20:12:38.597 回答