gpt4 book ai didi

ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:55 26 4
gpt4 key购买 nike

我想为 Heroku 构建一个 Rails 3 应用程序。他们使用 Postgres 作为他们的数据库,所以我通过 MacPorts 安装了 postgres 9.0。现在我需要一个 postgres gem 并且共识是出于性能原因你想要 pg gem 。但是我对我得到的错误感到非常困惑当我尝试在 rvm 下通过 gem install 安装 pg 时。

我已经非常明确地指定了所有 postgres 目录的位置可以找到但仍然无法完成安装:

$ env ARCHFLAGS='-arch x86_64' gem install pg -- \
--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/postgresql.conf \
--with-pg-include=/opt/local/include/postgresql90/ \
--with-pg-lib=/opt/local/lib/postgresql90/

Using config values from /opt/local/var/db/postgresql90/defaultdb/postgresql.conf
*** 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
--without-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/guy/.rvm/ruby-1.9.2-p136/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include=${pg-dir}/include
--with-pg-lib=${pg-dir}/lib
--with-pg-config
extconf.rb:24:in ``': Exec format error - /opt/local/var/db/postgresql90/defaultdb/postgresql.conf --includedir (Errno::ENOEXEC)
from extconf.rb:24:in `<main>'

有人有什么想法吗?我很困惑。盖伊

最佳答案

我认为你的问题就在这里:

--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/postgresql.conf

--with-pg-config 开关可能想知道 pg_config 脚本在哪里,而不是 postgresql.conf 在哪里。你应该在 /opt/local/bin 下的某处有一个 pg_config 脚本(可能),它应该产生一大堆像这样的东西:

BINDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/bin
DOCDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/share/doc
HTMLDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/share/doc
INCLUDEDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/include
PKGINCLUDEDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/include
INCLUDEDIR-SERVER = /Users/mu/Developer/Cellar/postgresql/9.0.1/include/server
LIBDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/lib
PKGLIBDIR = /Users/mu/Developer/Cellar/postgresql/9.0.1/lib
...

当你运行它时。 pg_config 脚本会告诉您(或询问的人)各种头文件和库的位置以及需要哪些编译器标志。

“Exec format error”错误消息是赠品。这听起来像是您正在尝试执行操作系统不知道如何执行的操作,而且我不希望 OSX 知道如何执行某个任意配置文件。

关于ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com