我正在使用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
答案 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。