この問題に関して私が見つけたすべての提案を試したと思います。まだ私のために働いていません。
バンドルしようとすると...
$ bundle
...
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
--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
...
An error occurred while installing pg (0.17.1), and Bundler cannot
continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before
bundling.
前のコードからの出力...
$ which bundle
/Users/Loren/.rvm/gems/Ruby-2.1.1@global/bin/bundle
$ which gem
/Users/Loren/.rvm/rubies/Ruby-2.1.1/bin/gem
$ which psql
/usr/local/bin/psql
Homebrewを使用してpostgresqlをアンインストールして再インストールしようとしましたが、助けにはなりませんでした。
私は試した...
ARCHFLAGS="-Arch x86_64" gem install pg
それは正常に完了しますが、bundle
を実行しても同じエラーが発生します。
私は試した ...
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
それはうまくいきませんでした。
私は試した ...
gem install pg -v '0.17.1' -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.2/bin/pg_config
それもうまくいきませんでした。
この時点で他に何を試すべきかはわかりません。助けてくれてありがとう。
私の解決策はこれで終わりました
ARCHFLAGS="-Arch x86_64" bundle install
これに基づいて 投稿の答え と私のために働いた(Yosemite OSX 10.10)、あなたは次を試すことができます:
$ Sudo su
$ env ARCHFLAGS="-Arch x86_64" gem install pg
Homebrewからpgを再インストールする必要はありません。
Sudo ARCHFLAGS="-Arch x86_64" gem install pg
私のためにトリックをしました... Jakob @ githubによって与えられたスレッドのヒントをありがとう
私のシステム:OSX 10.9.4、Ruby 2.0.0、local(non-homebrew)Postgresql 9.3.5
Building native extensions. This could take a while...
Successfully installed pg-0.17.1
invalid options: -f fivefish
(invalid options are ignored)
Parsing documentation for pg-0.17.1
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/pg_ext.bundle, skipping
Installing ri documentation for pg-0.17.1
1 gem installed
Home-brewを使用してpostgresqlをアンインストールしました(以前にpostgresqlのインストールに使用していた)
Postgres.appをインストールし、これによりPATHが更新されました
その後、現在実行中のpostgresql dbを停止する必要がありました
その後、Postgres.appを起動でき、ポート5432で起動しました
その後、端末を再起動する必要がありました
その後、私はバンドルを実行することができ、それは機能しました。
私の特定のインスタンスでは、最初のherokuアプリでbundle install
を実行しようとしました。 @boobooninjaにリストされているすべてのアイテムを実行しました(もちろん、パスが少し異なります)。最終的に私のために働いたのは、2つの答えの組み合わせでした。する必要がありました
$ Sudo su
$ env ARCHFLAGS="-Arch x86_64" gem install pg -v '0.17.1'
-v 0.17.1
を追加し、herokuに必要なバージョンを指定することで、バンドルを完了して続行することができました。
管理やアップグレードなどを簡単にするために、次のgemのインストール(上記と同じ)でMacで( PostgreSQL Application を使用しました。
gem install pg -- --with-pg-config=/Applications/Postgres__version__.app/Contents/MacOS/bin/pg_config
私はこのアプローチに問題はありませんでした(カスタムインストールまたはHomebrew経由で問題が発生しました)。
gem 'pg'
をgemfileに追加してbundle install
を使用したいが、PostgreSQLとlibpq-devがインストールされていることがわかっている場合(OS XにはPostgreSQLが付属しているので両方ともインストールする必要があります) $PATH
を見つける場所をpg_config
に伝えるだけです。これを試して:
$ ln -s /Library/PostgreSQL/9.1/bin/pg_config /usr/local/bin/pg_config
9.1
をインストールしたPostgreSQLバージョンに置き換えてください。リンクを作成している場所が$PATH
のどこにあるかを確認してください。それが完了したら、bundle install
を実行してpg
gemをインストールします。
私にとって、トリックはPostgres 9.3.0を再リンクすることでした
brew link postgresql