web-dev-qa-db-ja.com

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

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.

どうすれば修正できますか?

82
Deekor

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

そして、設定でhomebrewを使用してターミナルインストールします:

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

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

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

gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
135
Bob O'Brien

何らかの種類のエラーがここに報告されました PG XをOS Xにインストールしています-ネイティブ拡張のビルドに失敗しました

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

Sudo apt-get install libpq-dev

この

gem install pg
160

アプリのルート:

  1. 醸造アップデート
  2. 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. Rails s

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

18
knice

以前のバージョンでの以前の答え

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

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

それが役に立てば幸い

11
Robertibiris

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

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

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

5
Vince

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

4
tungd

CentOSユーザーの場合:

Sudo yum install postgresql-devel

そして

gem install pg
3
webster

私はすべてを組み合わせて使用​​しなければなりませんでした

Sudo env ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
3
Mark Wang

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

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

次にbundle install --without productionを使用します

3
j8d

Homebrewを使用してインストールした場合。 gem install pg -- --with-pg-config=/usr/local/bin/pg_config。 Ruby 2.4.6およびpg 0.20.0で動作します。

0
zykadelic

私がそのエラーを乗り越える方法は次のとおりです。

  • appフォルダーにcdし、Rubyバージョンをローカルに設定します。 Ruby 2.1.2を使用しています。

rbenv local 2.1.2

  • bundle installを実行する代わりに、ベンダー/バンドルにgemをインストールします

バンドルインストール--path vendor/bundle

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

0
Bogdan Nechita

私は須藤を使用する必要がありました

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

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

    Sudo yum install postgresql-devel

その後:

    bundle install

そしてさらに試みる:

    Rails serve

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

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

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

それが役に立てば幸い

0
pochocosta