简体   繁体   English

gem install pg在Mac El Capitan上不起作用

[英]gem install pg not working on Mac El Capitan

I tried to install pg Gem on Mac El Capitan, but I always get this error: 我试图在Mac El Capitan上安装pg Gem,但是我总是收到此错误:

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

        /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-pg-config=/Users/ricardolopes/Developer/homebrew/bin/pg_config
    Using config values from /Users/ricardolopes/Developer/homebrew/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
        --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 /Users/ricardolopes/Code/site-noticias/vendor/bundle/ruby/2.0.0/gems/pg-0.18.3 for inspection.
    Results logged to /Users/ricardolopes/Code/site-noticias/vendor/bundle/ruby/2.0.0/gems/pg-0.18.3/ext/gem_make.out
    An error occurred while installing pg (0.18.3), and Bundler cannot continue.
    Make sure that gem install pg -v '0.18.3' succeeds before bundling.

I also tried: 我也尝试过:

ARCHFLAGS="-arch x86_64" gem install pg

When I tried it I got: 当我尝试它时,我得到:

Building native extensions.  This could take a while...
    Successfully installed pg-0.18.3
    invalid options: -f fivefish
    (invalid options are ignored)
    Parsing documentation for pg-0.18.3
    Done installing documentation for pg after 3 seconds
    1 gem installed

But I run bundle install and get the same error posted in the beginning of this post. 但是我运行bundle install并在这篇文章的开头得到了同样的错误。

I tried reinstall PostgresSQL from brew. 我尝试从brew重新安装PostgresSQL。

Try this: 尝试这个:

  • brew update 酿造更新
  • brew install postgresql brew安装postgresql
  • sudo gem install pg -v 'VERSION' sudo gem install pg -v'版本'

This worked for me: 这为我工作:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

Remember to change 9.4 to your postgres version, if different from 9.4. 如果与9.4不同,请记住将9.4更改为您的postgres版本。

For a basic Rails app, you probably already have SQLite installed, but in your Gemfile, it probably has simply: 对于基本的Rails应用,您可能已经安装了SQLite,但是在您的Gemfile中,它可能只是简单地:

gem 'sqlite3'

Do you just need PostgreSQL for production? 您只需要PostgreSQL进行生产吗? Make sure your Gemfile has it as follows: 确保您的Gemfile具有以下内容:

group :production do gem 'pg' end

Also, make sure your Gemfile has SQLite just for development: 另外,请确保您的Gemfile具有仅用于开发的SQLite:

group :development do gem 'sqlite3' end

then try running bundle install . 然后尝试运行bundle install

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

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