pg(0.17.1)のインストール中にエラーが発生し、Bundlerを続行できません


87

インストールRails 4.0.2したばかりで、新しいアプリを作成すると、バンドル段階で次のようになります。

Installing pg (0.17.1) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Dee/.rvm/rubies/ruby-2.0.0-p247/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.

これを修正するにはどうすればよいですか?


1
osxタグを追加することをお勧めします。解決策は、特にOSに関連している可能性があるようです。
Vince

あなたは訪問したいかもしれません。stackoverflow.com/questions/3116015/…。これらのソリューションの1つが役立つことを
願ってい

回答:


144

私はMavericksを実行しているMacを使用しています。私の解決策はPostgresをインストールすることでした。

そして、ターミナルでhomebrewを使用して構成をインストールします。

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config

注:この回答はlatest、Postgresアプリの出荷バージョンに現在含まれているシンボリックリンクを使用するように編集されています。

以前のバージョンの提案:

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

うん、私のものも別の場所にありました。答えてくれてありがとう。
ディーカー2014

これが機能したpostgresappのバージョンである正しいBobはバージョン9.2.2.0だったので、9.3リリースでこの場所を変更したに違いありません。
ロベルティビリス2014

1
そして今、2015年1月22日の時点で、9.4リリースを検討していますが、更新されたままになっているのは良いことです-"gem install pg-- --with-pg-config = / Applications / Postgres。 app / Contents / Versions / 9.4 / bin / pg_config "
corprew 2015年

3
私は急いでいて、「自作を使用してインストールする」というこの回答の一部を見逃しました。この答えは私がした後私のために働いたbrew update; brew install postgres
デニス

6
あなたのソリューションでは、バージョンを追加してください、他の最新のPGの宝石がインストールされます:gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
user1322092

182

ここで報告されたある種のエラーOSXへのPGgemのインストール-ネイティブ拡張のビルドの失敗

Ubuntuに依存関係をインストールするには、次のことを試してください。

sudo apt-get install libpq-dev

この

gem install pg

5
Macを使用している場合、どうすればよいですか?
ディーカー2013

1
railstutorial.orgのチュートリアルに従います。これはあなたがミントのためにする必要があることです。ありがとう。
クリストファーシュナイダー

railstutorial.org-有料チュートリアル; 他のアイデアはありますか?
テラアシュリー

21

アプリのルート:

  1. 醸造の更新
  2. brew install postgres
  3. gem install pg --- with-pg-config = / usr / local / Cellar / postgresql / 9.3.4 / bin / pg_config
  4. バンドルインストール
  5. ln -sfv /usr/local/opt/postgresql/*.plist〜/Library/LaunchAgents
  6. launchctl load〜 / Library / LaunchAgents / homebrew.mxcl.postgresql.plist
  7. createuser -s -r postgres
  8. rake db:create:all
  9. rake db:migrate
  10. レールs

注:必要に応じて、手順3でバージョン番号を置き換えます。


10

以前のバージョンでの以前の作業回答

www.postgresapp.comのpostgresアプリ(バージョン9.2.2.0)をインストールして、mac OSXMavericksにインストールしました。根本的な問題は、postgresがアプリを介してインストールされたため、構成ファイルがpostgressappなしでインストールした場合のデフォルトではない場所にあるという単純なものでした。したがって、このファイルの場所をgemに指示する必要があります。

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

それが役に立てば幸い


1
これが私の解決策(OSX)
でした

これがだれにとっても機能しない場合は、9.3では設定ファイルが移動しました-受け入れられた答えを参照してください。
ディーカー2014

5

gem install pgが失敗した場合は、次のコマンドを試してください。

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

... PostgreSQL.appドキュメントから


2
公式アプリが最近「Postgres93.app」に名前を変更したので、コマンドは次のようになります env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
Blackcoat

1
私にとってそれはで働い: env ARCHFLAGS="-arch x86_64" gem install pg
dnlcrl

4

PostgreSQLがインストールされていないようです。pg宝石は、ネイティブ拡張をコンパイルするためにPostgreSQLのからいくつかのヘッダーが必要です。


Ruby / Bundlerのセットアップはどうですか?Mac OS XまたはLinuxを使用していますか?Mac OS Xを使用している場合は、homebrewまたはPostgreSQL.appを介してPostgreSQLをインストールしましたか?
2013

MacのIm。アプリからインストールしました
Deekor 2013

0.17.0をインストールしました。Rails 4でそれを使用することに害はありますか?
ディーカー2013

次にbundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config、実行してからbundleもう一度実行してください。あなたがアプリをインストールした場合、設定パスを調整する~/Applicationのではなく/Application
tungd

3

私はすべてを組み合わせて使用​​する必要がありました

sudo env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

3

開発でPostgresと本番環境でのみPostgres以外のものを使用している場合は、次のようにpggemをgemfileに追加できます...

group :production do
  gem 'pg',             '0.17.1'
end

次に、 bundle install --without production



1

Catalinaでビルド済みの新しいMacbookProをセットアップしました。

私のために働いたこと:

  1. ここからPostgresをインストールします:https//postgresapp.com/
  2. Zシェルがデフォルトの端末になっexport PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"ているので.zshenv、に追加します。

0

Postgresをインストールした後、次のコマンドを実行する必要がありました

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

このバンドルのインストール後はうまくいきます!

それが役に立てば幸い


0

私がなんとかそのエラーを乗り越えることができた方法は:

  • アプリフォルダにcdしてから、rubyバージョンをローカルに設定します。私はルビー2.1.2を使用しています。

rbenvローカル2.1.2

  • バンドルインストールを実行するだけでなく、ベンダー/バンドルにgemをインストールします

バンドルインストール--pathvendor / bundle

これは私のためにそれをしました。


0

sudoを使う必要がありました

sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config

0

Amazonで問題が発生し、apt-getを使用できませんでした。私の仕事のために:

    sudo yum install postgresql-devel

その後:

    bundle install

そしてさらに試みる:

    rails serve

0

Homebrewを介してインストールした場合; gem install pg -- --with-pg-config=/usr/local/bin/pg_config。Ruby2.4.6およびpg0.20.0で動作します。


-2

わたしにはできる

rvm list gemsets
rvm use ruby-2.4.1
bundle

エラー[![rvm userubyで解決] 2


あなたはインストールしていないpgここに宝石を
zykadelic
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.