web-dev-qa-db-ja.com

OS XへのPG gemのインストール - ネイティブエクステンションの構築に失敗しました

他の多くの人がpg gemのインストールに問題があるようです。他の人に提案された解決策のどれも私のために働いていません。

私はpg gemとpostgres.appをインストールしようとしました。 pg gemはインストールされません。私が得る最初のエラーは次のとおりです。

Pg(0.17.0)のインストール中にエラーが発生し、Bundlerは続行できません。バンドルする前にgem install pg -v '0.17.0'が成功することを確認してください。

私のgemインストールをpgの設定に向けることに関するインストールのアドバイスは、(このフォーラムの他の多くの人が遭遇した)エラーメッセージで失敗します。

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/Ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

このログファイルを見つけてアクセスしてさらに手がかりを探す方法がわかりません。

Sudo apt-get installコマンドを使用しようとすると、エラーメッセージ(コマンドが見つかりません)も表示されます。私は過去6時間このフォーラムを精査し、pgを私のRailsプロジェクトで動作させるために各アドバイスを試みました。

パスを変更する方法、具体的にはどのような変更が必要かについてのアドバイスが見つかりません。私のwhich pg_configはファイルソースを返します。私はその設定を使用してpgをインストールするコマンドでそれを使用しました。失敗します。

これで問題を抱えている人はたくさんいます。多くの回答が自作を示唆しています。それは他の問題を投げかけたので、私はそれを取り除かなければなりませんでした。

171
Mel

私にとっても同じエラーで、OS X 10.9(Mavericks)をダウンロードするまでそれを経験しませんでした。ため息、別のOSアップグレードの頭痛。

これを修正する方法は次のとおりです(自作)。

  • Xcode Toolsの別のビルドをインストールします(端末にbrew updateと入力すると、Xcodeビルドツールを更新するように求められます)。
  • brew update
  • brew install postgresql

その後gem install pgが私のために働きました。

412
shicholas

Ubuntuを使用している場合は、次のlibファイルをインストールしてください。

Sudo apt-get install libpq-dev

その後

gem install pg

私のために働いた。

218
sandesh kota

OS X Mavericks(バージョン10.9)を使用しています

そして上記のものを実行すると、私は次のメッセージを受け取りました。

だから私は次のコマンドを実行します。

ARCHFLAGS="-Arch x86_64" gem install pg

これは私のために働いた、私はこれが誰かに役立つことを願っています:)

49
Jon

Ok私もこの問題を抱えていて(psqlはv 9.3.0、Rubyはv 2.1.2です)、私にとってうまくいった解決策は最初にbundle configを設定することでした:

bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

この答えは、ついに私がそれを理解するのを助けました: https://stackoverflow.com/a/9235107/354668

41
paninapress

私は何時間も試してみましたが、次のものでようやく修正されました(私はOS X 10.9.4を使っています)。

  1. Xcodeコマンドラインツールをインストールする(Apple Developerサイト)
  2. brew uninstall postgresql
  3. ポストインストールpostgresql
  4. ARCHFLAGS = " - Arch x86_64" gem install pg
22
Ali Yazdani

簡単な一歩

  1. brew install postgresql
  2. gem install pg -v 'your version'
7
James Dela Cruz

同様に、Mavericksをインストールした後、bundle updateはpg gemにエラーを投げました。これはプロダクションでのみ使用され、ローカルでは使用されません。

私は自分のパッケージを管理するのにBrewを使い、postgresqlはすでにインストールされていますが、それでも 'no pg_config'エラーが出ました。

修正はbrew uninstall postgresql、次にbrew install postgresqlです。その後すぐにbundle updateを実行することができました。

6
Shannon Perkins

私は「正しい」答えはまずPostgres.app用にPATHを正しく設定することだと思います(~/.profileに次を追加することで(ZSHを使用する場合は.zshrcまたは~/.zprofile):

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

次にターミナルで新しいタブまたはウィンドウを開き、pg gemを次のようにインストールします。

ARCHFLAGS="-Arch x86_64" gem install pg

ここに文書化されています:

5
Matias Korhonen

/ ApplicationsにPostgresがインストールされているOSXで、私は単に以下のコマンドを実行します(あなたのバージョンに従って.29.4を変更してください)

gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

あなたが持っている必要があります:

'--with-pg-config =/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config'を使ってネイティブエクステンションを構築するこれには少し時間がかかります... pg-0.20を正常にインストールしました。

5
jbheren

私はこれに一日を費やしました、そして私がそれを直した方法は次のとおりです。

Build.pgのグローバル値が/opt/local/lib/postgresql91/bin/pg_configに設定されていて、それがpostgresがインストールされている場所ではないことがわかりました。

私はそれを修正してbuild.pgの値をbundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_configに置き換えました。ここが私のpostgresqlのインストール場所です。

3
HosseinToussi

試してください:

gem install pg -- --with-pg-config=`which pg_config`
1
Gerry