Cannot install pg gem in Mavericks with Postgres.app
我正在尝试安装pg gem以便在我的本地机器上使用Postgres.app。 我正在经营小牛队。
Postgres.app安装并运行正常,但我无法让宝石工作。 我做了以下事情:
一切都没有成功。 这是我收到的具体错误消息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Building native extensions WITH: '--with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config' This could take a while... ERROR: Error installing pg: ERROR: Failed TO build gem native extension. /Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config USING config VALUES FROM /Applications/Postgres.app/Contents/MacOS/bin/pg_config sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file OR directory sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file OR directory 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/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby --with-pg --without-pg --with-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}/ |
我很感激您提供的任何帮助。 谢谢!
你可能有
您可以使用以下命令找到
1 | find /Applications -name pg_config |
在最新的Postgres.app版本中,路径是:
1 | gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config |
在我的情况下(运行Postgres.app v9.3.4.2)它似乎只在前置环境架构标志时工作:
1 2 | env ARCHFLAGS="-arch x86_64" gem install pg -- \ --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config |
在一个全新的Mac上,这就是我必须做的事情:
现在运行(希望是一个面向未来的命令):
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/$version/bin/pg_config .
如果遇到问题,可以通过查看mkmf.log中的实际错误来解决问题,你可以通过运行找到它(如果使用rvm):
1 | cd ~/.rvm ; find . -name mkmf.log | grep pg |
我能用这个命令安装pg
1 | gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config |
我跑步找到了自己的道路
1 | sudo find / -name"pg_config" |
我成功安装了pg-0.17.1
将postgress bin dir添加到路径中也可以解决问题。只需像这样添加垃圾箱。在最近的安装中,最新的符号链接确保此路径应该"稳定"以用于将来的版本升级。
1 | export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin |
要解决此问题,我在终端窗口中使用以下命令使用自制软件安装了postgres:
1 | brew install postgres |
Homebrew可以在这里找到
http://brew.sh
为了将来参考,我们很多人都在为新版本号发布新路径:
目前我在
你应该能够做到:
1 | $ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config |
并忘记版本号。这可能不适用于每个(较旧的)版本,但我自己正在寻找可以保存和重用的代码段。
这对我有用:
1 | gem install pg -- --with-pg-config=`which pg_config` |