无法在小牛Postgres.app安装皮克宝石无法在小牛Postgres.app安装皮克宝石(Can

2019-05-12 16:37发布

我想我的本地计算机上安装与Postgres.app使用PG宝石。 我正在小牛队。

Postgres.app安装并运行正常,但我不能让创业板工作。 我已经做了以下情况:

  1. 使用命令 'ENV ARCHFLAGS = “ - 拱x86_64的” 创业板安装PG - --with-PG-配置= /应用/ Postgres.app /内容/ MacOS的/ bin中/ pg_config' 从Postgres.app文档
  2. 更新自制并安装了苹果的GCC 4.2
  3. 安装了Xcode开发工具
  4. 更新我的$ PATH同时引用了Postgres.app bin和lib目录

所有没有成功。 这是我收到的特定错误消息:

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}/

我会很感激你能提供任何帮助。 谢谢!

Answer 1:

你可能有错误的路径--with-pg-config ,检查它是否其实有。

你可以找到正确的路径pg_config有:

find /Applications -name pg_config

在最新的版本Postgres.app的路径是:

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config


Answer 2:

在我的情况下(运行Postgres.app v9.3.4.2)它只是似乎前面加上环境结构标志时的工作:

env ARCHFLAGS="-arch x86_64" gem install pg -- \
--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 


Answer 3:

作为一个全新的MAC,这是我必须做的:

  1. 从App Store安装的Xcode工具
  2. 开放的Xcode工具并接受许可
  3. 现在运行(希望一个面向未来的命令):

    version=$(ls /Applications/Postgres.app/Contents/Versions/ | tail -1) gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/$version/bin/pg_config .

如果你有麻烦,你可以诊断一点点检查出在其中您可以通过运行找到mkmf.log实际的错误(如果使用RVM):

cd ~/.rvm ; find . -name mkmf.log | grep pg


Answer 4:

我可以用这个命令安装PG

    gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

我发现我的路径运行

    sudo find / -name "pg_config"

我成功安装PG-0.17.1



Answer 5:

要解决这个问题,我使用自制软件使用在终端窗口下面的安装Postgres的:

brew install postgres

家酿可以在这里找到

http://brew.sh



Answer 6:

这为我工作:

gem install pg -- --with-pg-config=`which pg_config`


Answer 7:

加入postgress bin目录的路径也做的伎俩。 只是bin加入到这样的拍拍。 最近安装了最新的符号链接,确保这条道路应该是未来版本升级“稳定”。

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin


Answer 8:

对于未来的参考,因为我们很多人都发布了新的版本号的新路径:

目前我看到一个叫符号链接latest/Applications/Postgres.app/Contents/Versions/

你应该能够只是做:

$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config

而忽略了版本号。 这可能并不适用于所有的(旧的)版本,但我自己一直在寻找的一个片段,我可以保存并重复使用。



文章来源: Cannot install pg gem in Mavericks with Postgres.app