安装pg gem时出错 - extconf.rb失败

问题描述:

在构建rails应用程序时,突然收到一条消息,指出我的rails gem已经消失,因此我完全重新安装了rails。然后得到这个:安装pg gem时出错 - extconf.rb失败

安装pg(0.18.2)时发生错误,并且Bundler无法继续。 确保gem install pg -v '0.18.2'在捆绑之前成功。

但在运行命令获取我:

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/2.0/usr/bin/ruby -r ./siteconf20151014-55380-170ndlh.rb 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. 

我不知道这是否是相关的,但它周围开始发生的时候,我的捆绑不再是能够安装宝石没有sudo,这是我从来没有之前需要。

当我打开mkmf.log文件,我得到这个:

/usr/local/Cellar/postgresql/9.4.5/include/libpq-fe.h:250:1: note: 'PQconnectdb' declared here 
extern PGconn *PQconnectdb(const char *conninfo); 
^ 
1 error generated. 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <libpq-fe.h> 
4: 
5: /*top*/ 
6: extern int t(void); 
7: int t(void) { PQconnectdb(); return 0; } 
8: int main(int argc, char **argv) 
9: { 
10: if (argc > 1000000) { 
11:  printf("%p", &t); 
12: } 
13: 
14: return 0; 
15: } 
/* end */ 

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

(日志是更长的时间,但是这是它的尾部在它有一个错误)。

我试过gem install pg — –with-pg-lib=/usr/lib,这不起作用。

我该如何解决这个问题?谢谢!

+1

RVM在你的shell,使重载'cd'命令当你切换到另一个项目时,它会自动切换到正确的ruby和/或gemset。尝试运行'rvm list'和'rvm gemset list'并检查你是否有和以前一样的ruby和gemset。如果您使用的是gemsets,您可能只想使用bundler:http://rakeroutes.com/blog/how-to-use-bundler-instead-of-rvm-gemsets/ – max

+0

谢谢!这并不奏效,但感谢你花时间回答。 – Eupatoria

+0

不确定,但在*上找到一篇文章。希望它能帮助你http://*.com/questions/9668753/rails-3-cant-install-pg-gem – Rakesh

只是发布我自己的答案,因为解决方案变成了意想不到的,我试过每一种方法来解决它我已经找到了*无济于事。

看起来问题在于需要更新的XCode命令工具。我更新了命令工具,然后用自制软件重新安装了postgres,并重新安装了pg gem。像魅力一样工作。现在也在El Capitan工作。

我有同样的问题,并通过固定它:

1)$ brew update

2)$ brew install postgres

2)$ gem install pg