在Windows上安装PG Gem时出错

时间:2014-06-30 05:27:10

标签: ruby-on-rails windows xampp rails-postgresql pg

我正在使用XAMPP作为PostgreSQL 9.3的安装文件夹。

  

C:\ XAMPP \ pgsql的\ 9.3

现在我正在尝试使用该目录安装PostgreSQL gem作为参考:

gem install pg -- --with-pg-include="C:\xampp\pgsql\9.3\include" --with-pg-lib="C:\xampp\pgsql\9.3\lib" --with-pg-config="C:\xampp\pgsql\9.3\bin\pg_config"

但是此命令失败,错误如下:

ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

    C:/Ruby/Ruby200/bin/ruby.exe extconf.rb --with-pg-include=C:\xampp\pgsql\9.3
\include --with-pg-lib=C:\xampp\pgsql\9.3\lib --with-pg-config=C:\xampp\pgsql\9.
3\bin\pg_config
Using config values from C:\xampp\pgsql\9.3\bin\pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Cant 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.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Ruby/Ruby200/bin/ruby
        --with-pg
        --without-pg
        --with-pg-config
        --with-pg-dir
        --without-pg-dir
        --with-pg-include=${pg-dir}/include
        --with-pg-lib=${pg-dir}/
        --with-pqlib
        --without-pqlib
        --with-libpqlib
        --without-libpqlib
        --with-ms/libpqlib
        --without-ms/libpqlib

extconf failed, exit code 1

Gem files will remain installed in C:/Ruby/Ruby200/lib/ruby/gems/2.0.0/gems/pg-0
.17.1 for inspection.
Results logged to C:/Ruby/Ruby200/lib/ruby/gems/2.0.0/extensions/x86-mingw32/2.0
.0/pg-0.17.1/gem_make.out

当我在pgsql中检查时,实际上有一个名为 libpq.dll 的文件在

  

C:\ XAMPP \ pgsql的\ 9.3 \ lib中

那么为什么错误说它无法找到PostgreSQL客户端库(libpq)?
这个错误有什么解决方案吗?

仅供参考,我正在使用:

  • Windows 8.1 64位
  • Ruby 2.0.0 64位
  • Rails 4.1.1
  • Devkit 4.7.2 64位
  • PostgreSQL 9.3.4 64位

我正在尝试安装PG Gem版本0.17.1

1 个答案:

答案 0 :(得分:3)

作为评论的后续内容,您似乎必须在Windows上使用 32-bit Postgres。

这很可能与pg gem与mingw32一起使用的想法有关,尽管我不完全确定