使用Rails 3中的“pg”gem ...为什么我在进行“捆绑安装”时会在Netbeans中出现此错误?

时间:2010-10-21 11:15:17

标签: postgresql netbeans ruby-on-rails-3 rvm

以我的智慧结束!

我目前的设置是: - Ruby 1.9.2 - Rails 3.0.1 - pg(0.9.0)

我的$ PATH现在看起来像这样:

  

/Users/fjones/.rvm/gems/ruby-1.9.2-p0/bin:/Users/fjones/.rvm/gems/ruby-1.9.2-p0@global/bin:/Users/fjones/ .rvm /红宝石/红宝石1.9.2-P0 / bin中:/Users/fjones/.rvm/bin:ARCHFLAGS = -arch   x86_64的内容:/ opt / local / bin目录中:/ opt / local / sbin中中:/ opt / local / lib目录/ postgresql84 /斌:/库/ Glassfish的/ bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:的/ usr / local / bin中:在/ usr / X11 / bin中

我尝试从Netbeans 6.9.1进行“捆绑安装”时,我得到以下异常。

  

使用本机安装pg(0.9.0)   扩展   /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in   `build_extensions中的块中的救援':   错误:无法构建gem native   延期。   (GEM ::安装:: ExtensionBuildError)

     

/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin/ruby   extconf.rb检查pg_config ...   无

     

===========警告===========        您正在OS X上构建此扩展,而不设置
  ARCHFLAGS环境变量,和   你的网站找不到pg_config   路径。如果您看到此消息,   这意味着构建将   可能会失败。

     

如果是,您可以通过更正   要么包括路径   PATH或设置中的'pg_config'   环境变量ARCHFLAGS   在建造之前'-arch'。

     

例如:(在bash中)$ export   PATH = /选择/ local / lib目录/ postgresql84 /斌:$ PATH
              $ export ARCHFLAGS =' - arch x86_64'(在tcsh中)%set path =(   / opt / local / lib / postgresql84 / bin $ PATH   )               %setenv ARCHFLAGS'-arch x86_64'

     

然后再试一次。

     

===================================   MacOS X构建:修复架构   flags:检查libpq-fe.h ...没有   找不到'libpq-fe.h标头    * extconf.rb失败* 由于某种原因无法创建Makefile,   可能缺乏必要的库   和/或标题。检查mkmf.log   文件了解更多详情。你可能需要   配置选项。

     

提供配置选项:           --with-OPT-DIR           --without-OPT-DIR           --with-OPT-包括           --without-OPT-包括= $ {停用DIR} /包括           --with-OPT-LIB           --without-OPT-LIB = $ {选择-DIR} / lib目录           --with-MAKE-PROG           --without-MAKE-PROG           --srcdir =。           --curdir           --ruby = /用户/ fjones / .rvm /红宝石/红宝石1.9.2-P0 /斌/红宝石           --with-PG           --without-PG           --with-PG-配置           --without-PG-配置           --with-PG-DIR           --without-PG-DIR           --with-PG-包括           --without-PG-包括= $ {PG-DIR} /包括           --with-PG-LIB           --without-PG-LIB = $ {PG-DIR} / lib中           --enable-静态编译           --disable静电建造

     

Gem文件将保持安装状态   /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/pg-0.9.0   检查。记录结果   /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/pg-0.9.0/ext/gem_make.out           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:486:in   block in build_extensions' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:446:in 每个”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:446:in   build_extensions' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:198:in 安装”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/source.rb:100:in   install' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:55:in 阻止运行'           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in   block in each' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in 每个”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/spec_set.rb:12:in   each' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:44:in 运行”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/installer.rb:8:in   install' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/cli.rb:221:in 安装”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/task.rb:22 :在   run' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor.rb:246:in   dispatch' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/vendor/thor/base.rb:389:in 开始”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/bin/bundle:13:in   <top (required)>' from /Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin/bundle:19:in 负载”           来自/Users/fjones/.rvm/rubies/ruby-1.9.2-p0/bin/bundle:19:in   `'

2 个答案:

答案 0 :(得分:0)

好像你需要安装libpq的开发版本(头文件和库)。不幸的是,我不知道究竟应该在OS X上做些什么。

答案 1 :(得分:0)

解答:

因此,Netbeans 6.9.1确实存在问题,因为没有为Ruby 1.9.2 gems分配正确的路径信息。解决方案:

  1. 转到工具&gt; Ruby平台
  2. 在平台列表框中选择Ruby 1.9.2-p0
  3. 根据的路径更新“Gem Home”和“Gem Path”(从终端运行“gem env”获取该信息)
  4. 除了能够使用pg gem运行“bundle install”之外,这实际上还会解决许多问题。此外,您还可以安装1.9.2的快速调试器,并从netbeans中管理您的其他宝石。