使用Postgres适配器的Rails应用程序无法激活pg

Abe*_*ker 31 ruby-on-rails

在Rails应用程序中,pgGemfile中有一个简单的要求:

gem 'pg'
Run Code Online (Sandbox Code Playgroud)

您将收到以下错误:

Gem::LoadError can't activate pg (~> 0.18), already activated pg-1.0.0. Make sure all dependencies are added to Gemfile.
Run Code Online (Sandbox Code Playgroud)

Abe*_*ker 57

pg宝石最近发布的版本1.0.0是没有使用Rails兼容.

如果您使用的是Rails 5,请将Gemfile的pg要求更改为以下1:

gem 'pg', '~> 0.18'
Run Code Online (Sandbox Code Playgroud)

或者在Rails <5上,这个:

gem 'pg', '~> 0.11'
Run Code Online (Sandbox Code Playgroud)

然后运行

bundle update pg
Run Code Online (Sandbox Code Playgroud)


1 Bundler将使用任一行有效地执行完全相同的操作,但这样您将完全匹配Rails源代码的运行时检查,以及rails newGemfile生成器发出的版本.