rails中的活动记录postgresql适配器错误

时间:2013-03-11 12:37:35

标签: ruby-on-rails ruby-on-rails-3.1 gem

这是我的问题。我正在尝试创建一个博客。我运行'rails new blog'。 Everythign没问题,直到我尝试'rake db:create'。它返回一个错误:

rake aborted!
Please install the postgresql adapter: `gem install activerecord-postgresql-adap
ter` (pg is not part of the bundle. Add it to Gemfile.)

当我尝试安装pg适配器时,我得到了这个:

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing activerecord-postgresql-adapter:
    ERROR: Failed to build gem native extension.

F:/Ruby200-x64/bin/ruby.exe extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
 --with-pg-config=/path/to/pg_config
 checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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

需要配置选项。

我的宝石文件:

  source 'https://rubygems.org'

gem 'rails', '3.2.12'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem "pg"

# Gems used only for assets and not required
# in production environments by default.
 group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

知道吗?

4 个答案:

答案 0 :(得分:3)

你安装了Postgres吗?如果是这样,请确保pg_config.exe位于PATH中。或者,使用--with-pg-config–with-pg-dir键:

gem install pg --with-pg-config=<path>

请参阅https://github.com/ged/ruby-pg/blob/master/README-Windows.rdoc

中的详细信息

答案 1 :(得分:2)

卸载pg gem,并为Windows安装postgres-pr

从Gemfile中删除:

gem "pg"

并提出:

gem "postgres-pr"

并运行:

bundle installgem install postgres-pr或者您正在安装宝石

答案 2 :(得分:1)

你错过了postgresql的库。 您可以这样安装:

sudo apt-get install libpq-dev

也许还要看看this old question

答案 3 :(得分:0)

我遇到了相同的错误,并通过将正确的文件权限设置为postgresql_adapter.rb

解决了
cd [YOUR_ACTIVERECORD_GEM_PATH]/lib/active_record/connection_adapters
chmod 644 postgresql_adapter.rb

在我的计算机上,postgresql_adapter.rb的文件权限被破坏了...

enter image description here