Ruby on rails - Ubuntu 14.04 - 安装 pg (0.18.2) 时出错,Bundler 无法



这个问题让我无法继续,我不知道我是否有可能在Heroku上部署我的Rails应用程序。

当我尝试通过在我的 Gemfile 中gem 'pg' bundle install时,它给出了以下错误。

An error occurred while installing pg (0.18.2), and Bundler cannot continue.

Make sure that gem install pg -v '0.18.2' succeeds before bundling.

但是,当我尝试sudo gem install pg时,它说Successfully installed pg-0.18.2 1 gem installed

但是当我尝试在本地运行该应用程序或在 Heroku 上部署时,它再次给我同样的错误。通过在开发模式下使用sqlite3,一切都很好,但是在Heroku上会出现同样的问题,因为Heroku不支持sqlite3。

你在本地安装了PostgreSQL吗? 如果没有,这可能是原因(拥有gem 'pg'不足以在本地安装它)。 您必须运行sudo apt-get install postgresql postgresql-contrib才能安装。

不过,您不需要在本地安装它即可推送到 Heroku...只要你有gem 'pg'. 为此,您可以在 Gemfile 中设置一个专门用于生产的不同组。 像这样:

group :development, :test do
  gem 'sqlite3',     '1.3.9'
end
group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
end

第一件事是您必须在 gem 文件中包含生产中的pg gem 和开发和测试环境中的sqlite

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

然后捆绑不包括生产环境的 Gem

bundle install --without production

然后你可以提交并推动英雄库。

最新更新