【问题标题】:rubygem pg not installing after using rubyminerubygem pg 使用 ruby​​mine 后未安装
【发布时间】:2018-06-04 16:32:40
【问题描述】:

我第一次尝试 ruby​​mine 并更改了 Postgresql 设置,现在 gem 无法安装。以下是尝试安装 gem 后的错误副本。以下是在我删除 Rubymine 应用程序及其创建的文件后运行的。

Aris-MacBook-Pro:~ arikalmen$ gem install pg
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

    current directory: /Users/arikalmen/.rvm/gems/ruby-2.4.1/gems/pg-0.21.0/ext
/Users/arikalmen/.rvm/rubies/ruby-2.4.1/bin/ruby -r ./siteconf20171221-20772-masvtl.rb 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
need configuration options.

Provided configuration options:
    --with-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=/Users/arikalmen/.rvm/rubies/ruby-2.4.1/bin/$(RUBY_BASE_NAME)
    --with-pg
    --without-pg
    --enable-windows-cross
    --disable-windows-cross
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/arikalmen/.rvm/gems/ruby-2.4.1/extensions/x86_64-darwin-17/2.4.0/pg-0.21.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/arikalmen/.rvm/gems/ruby-2.4.1/gems/pg-0.21.0 for inspection.
Results logged to /Users/arikalmen/.rvm/gems/ruby-2.4.1/extensions/x86_64-darwin-17/2.4.0/pg-0.21.0/gem_make.out
Aris-MacBook-Pro:~ arikalmen$

下面粘贴的是前面提到的mkmf.log

/Users/arikalmen/.rvm/gems/ruby-2.4.1/extensions/x86_64-darwin-17/2.4.0/pg-0.21.0/gem_make.out

ind_executable: checking for pg_config... -------------------- no

--------------------

find_header: checking for libpq-fe.h... -------------------- no

"gcc -o conftest -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0/x86_64-darwin17 -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0/ruby/backward -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0 -I.  -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens  -fno-common -pipe conftest.c  -L. -L/Users/arikalmen/.rvm/rubies/ruby-2.4.1/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl@1.1/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl@1.1/lib     -lruby.2.4.1  -lpthread -ldl -lobjc "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

"gcc -E -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0/x86_64-darwin17 -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0/ruby/backward -I/Users/arikalmen/.rvm/rubies/ruby-2.4.1/include/ruby-2.4.0 -I.  -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl@1.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens  -fno-common -pipe  conftest.c -o conftest.i"
conftest.c:3:10: fatal error: 'libpq-fe.h' file not found
#include <libpq-fe.h>
         ^~~~~~~~~~~~
1 error generated.
checked program was:
"mkmf.log" [readonly] 31L, 2722C

【问题讨论】:

  • 错误消息告诉您显示在mkmf.log 以获取更多详细信息。你这样做了吗?
  • 我做到了。不知道该怎么做。由于太长,我将其作为答案发布。
  • 请编辑您的问题并将其发布在此处。日志不是答案。
  • 是的,先生。感谢您指出这一点。

标签: ruby postgresql rubygems rvm rubymine


【解决方案1】:

首先,安装缺少的库:

brew install libpqxx

然后按照LINK中的步骤操作

【讨论】:

  • 我认为我安装的 BigSQL 图形安装程序与下载 pag3 link 上的 Postgres.app 之间存在冲突我从我的应用程序中删除了图形安装程序,但我感觉它是仍然存在,因为默认的 postgresql 端口(5432)仍在被占用。从这个问题想出来了。 link
【解决方案2】:

上面的错误信息说:

正在检查 libpq-fe.h... 否

找不到'libpq-fe.h 标头

安装它应该可以解决您的错误。

【讨论】:

    【解决方案3】:

    你需要指定ARCHFLAG,试试这个: sudo ARCHFLAGS="-arch x86_64" gem install pg

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 2018-04-20
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      相关资源
      最近更新 更多