在Windows XP上安装gem install pg

时间:2010-12-21 15:59:19

标签: rubygems ruby-on-rails-3

令我不断惊愕的是,我被迫在Windows上编程。我试图为一些Ruby开发安装postreSQL是徒劳的。

ctipton@MIS-PROGRAMMER /c/rubyDev
$ gem install pg
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

c:/Ruby192/bin/ruby.exe extconf.rb
checking for pg_config... yes
*** 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:/Ruby192/bin/ruby
        --with-pg
        --without-pg
        --with-pg-config
        --without-pg-config
extconf.rb:33:in ``': No such file or directory - c:\Program Files\PostgreSQL\8.3\bin/pg_config.exe --cflags (Errno::ENOENT)
        from extconf.rb:33:in `<main>'

它对我来说是它显示的路径c:\ Program Files ... \ bin / pg_config.exe有错误的路径分隔符。查看extconf.rb,它正在使用

构建该路径
ENV['PATH'] = "#{pgdir}/bin" + File::PATH_SEPARATOR + ENV['PATH']

File :: PATH_SEPARATOR定义在哪里,为什么不正确,是否可以修复?

1 个答案:

答案 0 :(得分:0)

您收到的消息清楚地表明您缺少正确安装该宝石的内容:

由于某些原因无法创建Makefile,可能缺少必要的库和/或标头。检查mkmf.log文件以获取更多详细信息。您可能需要配置选项。

昨天发布的最新版本的pg(0.10.0)没有Windows原生版本,但是如果安装0.9.0,它应该安装二进制版本。

无论如何,如果要安装gem,则需要安装构建环境。如果你正在使用RubyInstaller,那么你需要DevKit

安装gem只需要为gem安装提供额外的选项(如--with-pg-dir)

subst X:“C:\ Program Files(x86)\ PostgreSQL \ 8.3” gem install pg - --with-pg-dir = X: 子X:/ D