简体   繁体   English

安装 postgres gem 时出现捆绑错误

[英]Bundle errors when installing postgres gem

I am trying to install gem pg but keep getting an error returned in my terminal.我正在尝试安装gem pg但在我的终端中不断收到错误消息。 I have pg installed, i installed it with brew.我已经安装了 pg,我用 brew 安装了它。 I ran gem install pg and it just tell me that pg is already installed.我运行了 gem install pg,它只是告诉我 pg 已经安装了。

Here is the error I get.这是我得到的错误。

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby 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.

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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --with-pg
    --without-pg
    --enable-windows-cross
    --disable-windows-cross
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-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}/
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in /var/folders/l7/f3_r_hhs46lfprth_1pw57vw0000gn/T/bundler20150320-66140-15yne3b/pg-0.18.1/gems/pg-0.18.1 for inspection.
Results logged to /var/folders/l7/f3_r_hhs46lfprth_1pw57vw0000gn/T/bundler20150320-66140-15yne3b/pg-0.18.1/gems/pg-0.18.1/ext/gem_make.out
An error occurred while installing pg (0.18.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.18.1'` succeeds before bundling.

To tell system to use the gem you have installed on machine 告诉系统使用您已在计算机上安装的gem

Try 尝试

brew install postgresql 

or try 或尝试

ARCHFLAGS="-arch x86_64" bundle install

I think I had similar problem on MacOS. 我想我在MacOS上也有类似的问题。 Once you installed PostgreSQL viw brew , you need to install pg gem like: 安装PostgreSQL viw brew ,您需要安装pg gem,如下所示:

gem install pg -- --with-pg-config=/usr/local/bin/pg_config

Check details here . 在此处查看详细信息。 This worked for my MacOS machine. 这适用于我的MacOS机器。

Good luck! 祝好运!

Here's my fix on ubuntu 20.04:这是我对 ubuntu 20.04 的修复:

sudo apt install libpq-dev -y

followed by:其次是:

gem install pg -v '0.21.0' --source 'https://rubygems.org/'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM