令我不断惊愕的是,我被迫在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定义在哪里,为什么不正确,是否可以修复?
答案 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