gem install pg –with-pg-config工作,捆绑失败

当我运行(以root身份)

gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config 

我得到以下输出:

 #-> gem instal pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config Building native extensions. This could take a while... Successfully installed pg-0.12.0 1 gem installed Installing ri documentation for pg-0.12.0... Installing RDoc documentation for pg-0.12.0... #-> 

当我运行软件包安装时:

 Installing pg (0.12.0) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config 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=/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/lib --with-pg-config --without-pg-config --with-pg_config --without-pg_config Gem files will remain installed in /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg- 0.12.0 for inspection. Results logged to /var/www/simpletrac/vendor/cache/ruby/1.9.1/gems/pg-0.12.0/ext/gem_make.out An error occured while installing pg (0.12.0), and Bundler cannot continue. Make sure that `gem install pg -v '0.12.0'` succeeds before bundling. 

我在/usr/pgsql-9.1/include/libpq-fe.h上安装了libpq-fe.h。 所以,我试了

 gem install pg -v '0.12.0' -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config --with-pg-lib=/usr/pgsql-9.1/include/libpq-fe.h but still no go. 

任何帮助将不胜感激。

另外,我安装了postgresql91-devel和ruby-devel。 运行CentOS 6。

您是否在运行bundle install之前尝试过运行该bundle install

 bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config 

请参阅http://bundler.io/v1.3/bundle_config.html

如果有人使用macports来安装postgres,并有问题find他们的pg_config,试试这个:

 bundle config build.pg --with-pg-config=/opt/local/lib/postgresql91/bin/pg_config 

我希望这能帮助别人节省一些时间。 干杯!

有同样的问题,通过安装libpq-dev修复。

参考: https : //bitbucket.org/ged/ruby-pg/issue/83/help-gem-install-pg-failed-on-opensuse-103

如果您不确定您的pg_config的位置,并假设您在Linux或Mac上,则可以运行以下命令:

 which pg_config 

这将返回==> /usr/pgsql-9.1/bin/pg_config

现在使用这个path

 bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config 

现在完成bundle install

你可以得到这个错误,如果你有pg_config安装,但它不在任何path。 您可以将它添加到您的〜/ .bashrc中的PATH env中。

例如。

 export PATH=${PATH}:/usr/pgsql-9.2/bin 

我不得不这样做来修复我的OS X:

 export PATH=/opt/local/lib/postgresql84/bin/:$PATH 

而我必须做到这一点,尽pipe我已经在我的道路上这样做了:

 [user@foo ~] which psql84 /opt/local/bin/psql84 [user@foo ~] ls -altrh /opt/local/bin/psql84 lrwxr-xr-x 1 root admin 36B Dec 7 02:15 /opt/local/bin/psql84 -> /opt/local/lib/postgresql84/bin/psql 

我希望能帮助另一个Mac用户解决这个问题。

Postgres的gem找不到Postgres的configuration文件。 你需要告诉它它在哪里。 在我看来,最令人愉快的解决scheme是跳过Brew和MacPorts,并使用Postgres应用程序。 从这里下载并安装:

http://postgresapp.com/

现在将bin文件夹添加到您的path中:

 PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH" 

你也可以把它添加到你的〜/ .bash_profile中

现在安装gem:

 gem install pg 

它应该顺利。

我在Mac上,我使用自制软件,所以要解决这个问题,我只是用brew安装postgresql:

 brew install postgresql 

然后安装gem。

复制粘贴:

 bundle config build.pg --with-pg-config=`which pg_config` && bundle 

细节:

访问以获取更多信息:

你应该做的第一件事是确保Postgres附带的'pg_config'工具在你的path中。 如果不是,或者你的path中第一个不是用你想构build的Postgres安装的那个,你可以用-with-pg-config选项指定它的path。

来源: https //github.com/ged/ruby-pg/blob/1f274f68c16f1af1c642db1b9d3d28aef169dc84/ext/extconf.rb#L27

尝试这个:

 yum install libpqxx-devel 

它适用于Postgr9.2。

我正在使用Arch Linux,并有类似的问题。 使用sudo pacman -S libpqxx和reran然后安装了pg gem,然后再次运行bundle install ,这次它终于起作用了!

这个链接build议使用:

 gem install pg --pre 

我无法安装好几天的pg gem ,但是这个方法终于为我工作了。 希望这会有所帮助。

 gem install pg -v '0.17.1' 

对我来说有诡计了。

何时在Mac上使用postgresapp,请阅读http://postgresapp.com/documentation/cli-tools.html文档并configuration您的$ PATH。 在此之前尝试再次运行软件包安装。

确保你有postgress安装。 如果没有安装它。 以terminal为例。

 brew install postgresql 

之后运行

 bundle install