在Mountain Lion安装后无法安装postgresql gem

时间:2012-08-08 03:19:47

标签: ruby-on-rails postgresql osx-mountain-lion

自从我从Lion升级到Mountain Lion以来,我已经尝试了一段时间来恢复我的Rails开发环境。问题是专门安装pg-0.14.0(postgresql)gem。

我已尝试过这个post的说明,但没有运气。我尝试用Homebrew卸载Postgres然后重新安装它。什么都行不通。如果我尝试安装此gem,我会收到此错误:

Building native extensions.  This could take a while...
ERROR:  Error installing pg: ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for pg_config... yes 
Using config values from /usr/local/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
Can't 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.

我在哪里可以找到mkmf.log?谁能给我一个关于如何再次安装pg gem的建议?

更新 我能够使用:

找到我的mkmf.log文件
  

find / -name mkmf.log 2> / dev / null

有几个失败的xcrun调用,如下所示:

have_library:在-llibpq中检查PQconnectdb()... -------------------- no

  

“xcrun cc -o conftest -I。   -I /系统/资源库/框架/ Ruby.framework /版本/ 1.8 / usr / lib中/红宝石/ 1.8 /万向darwin12.0   -一世。 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I / usr / local / Cellar / postgresql / 9.1.4 / include -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common conftest。 c -L。 -L / System / Library / Frameworks / Ruby.framework / Versions / 1.8 / usr / lib -L。 -arch i386 -arch x86_64 -L / usr / local / Cellar / postgresql / 9.1.4 / lib -lruby -llibpq -lpthread -ldl -lobjc“ld:找不到-llibpq clang的库:错误:链接器命令失败并退出代码1(使用-v查看调用)

运行xcrun时为什么会出错?有没有人见过这个?

谢谢!

4 个答案:

答案 0 :(得分:2)

错误说它就在那里:

checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)

找不到libpq,或者尝试编译测试程序并链接到它的测试失败。因为它找到/usr/local/bin/pg_config它应该知道Pg库和头文件的位置,所以问题可能是测试编译中的错误。

要了解详情,您需要检查mkmf.log。运行

find . -name mkmf.log

从您运行gem install命令的目录中,它可能会找到它。更新您的帖子及其内容。

答案 1 :(得分:2)

我终于解决了这个问题。我使用RVM卸载ruby并重新安装ruby版本1.9.3。这使我可以毫无问题地运行“捆绑安装”。我检查了所有装载的宝石(宝石清单)。但是我的rails应用程序此时无法找到postgres套接字文件。同样的问题是详细的here.而不是找到postgresql.conf文件,更改它的权限,并编辑它我只是卸载了我当前版本的Postgres并从PostGres下载了最新的One-Click安装程序。当我再次运行安装程序时,它检测到其他PostGres安装并更新它。这为我更新了配置,一切都很好。

我希望这可能有助于其他一些可怜的rails dev升级到Mountain Lion:)

答案 2 :(得分:0)

我也经历了几个小时的努力,在我的设置中找不到任何可用的东西。

我最终使用postgres.app。这是Heroku的人们发布的Postgres的打包版本。他们说这是“在Mac上运行postgreSQL的最简单方法”。根据我的经验,这是真的!

只需将其放入“应用程序”文件夹即可! (我只需要重新启动以释放端口5432)。

旁注:他们还发布了一个名为Induction的应用程序来管理和查询您的数据库,但目前它在Mountain Lion中无法使用。

答案 3 :(得分:0)

如果你有Mountain Lion和XCODE 4.4.1你没有命令工具那么从这里下载https://developer.apple.com/downloads/index.action