web-dev-qa-db-ja.com

rails pgのインストール-'libpq-fe.hヘッダーが見つかりません

$ Sudo bundle install

結果

Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Using rake (0.9.2.2) 
Using i18n (0.6.1) 
Using multi_json (1.3.6) 
Using activesupport (3.2.8) 
Using builder (3.0.4) 
Using activemodel (3.2.8) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.3) 
Using actionpack (3.2.8) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.11) 
Using mail (2.4.4) 
Using actionmailer (3.2.8) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.8) 
Using activeresource (3.2.8) 
Using bundler (1.2.1) 
Using coffee-script-source (1.4.0) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.7.5) 
Using rdoc (3.12) 
Using thor (0.16.0) 
Using railties (3.2.8) 
Using coffee-Rails (3.2.2) 
Using jquery-Rails (2.1.3) 
Installing pg (0.14.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/Ruby1.8 extconf.rb 
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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.

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=/usr/bin/Ruby1.8
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config

Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.14.1 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.

私は$ gem install pg -v '0.14.1'を作っていますが、これは役に立ちません

私のGemfile

source 'https://rubygems.org'

#gem 'Rails', '3.0.9'

#gem 'sqlite3', '1.3.6', :group => :development


gem 'Rails', '3.2.8'

# Bundle Edge Rails instead:
# gem 'Rails', :git => 'git://github.com/Rails/rails.git'


gem 'sqlite3'
gem 'pg'
gem 'taps'

gem 'json'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-Rails',   '~> 3.2.3'
  gem 'coffee-Rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :Ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-Rails'


#group :production do
  #gem 'pg'
#end
#group :development do
  #gem 'sqlite3'
#end

gem_make.out

/usr/bin/Ruby1.8 extconf.rb 
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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.

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=/usr/bin/Ruby1.8
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config

mkmf.log

find_executable: checking for pg_config... -------------------- yes

--------------------

find_header: checking for libpq-fe.h... -------------------- no

"gcc -E -I. -I/usr/lib/Ruby/1.8/i686-linux -I. -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I -fno-strict-aliasing -g -g -O2  -fPIC    conftest.c -o conftest.i"
conftest.c:1:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include <libpq-fe.h>
/* end */

--------------------

お願い助けて。ありがとうございました。

このテキストでごめんなさい。投稿には、コードセクションを説明するためのコンテキストがあまりありません。シナリオをより明確に説明してください。

63
Arthur Yakovlev

これを作るだけ

$ Sudo apt-get install libpq-dev
130
Arthur Yakovlev

これは、 pg gem をインストールしようとしたときに 'libpq-fe.hヘッダーが見つかりません

環境に応じて:

  • Mac:brew install postgresql
  • UbuntuSudo apt-get install libpq-dev
  • [〜#〜] rhel [〜#〜]yum install postgresql-devel

その後、gem install pgを再度実行します

49
Phil

これを試して:

  1. postgresqlをインストールする
  2. gem install pg
  3. バンドルインストール
15
Karol

Fedora/RHELシステムでは、これがうまくいきませんでした。

Sudo yum install libpqxx-devel
14
nicolasochem

Mac OS Xでは、次のように実行します。

gem install pg -- --with-pg-config=***/path/to/pg_config***

***/path/to/pg_config***はpg_configへのパスです

4
Jiemurat

Amazon AMIのJenkinsサーバーでこの問題が発生しました。

$ pg_config | grep VERSION
VERSION = PostgreSQL 9.4.9

次に、必要なバージョンに応じて、必要なライブラリをインストールできます

$ Sudo yum list postgresql* | grep devel
postgresql92-devel.x86_64               9.2.18-1.59.amzn1          @amzn-main
postgresql94-devel.x86_64               9.4.9-1.67.amzn1           @amzn-main
postgresql8-devel.x86_64                8.4.20-5.52.amzn1          amzn-main
postgresql93-devel.x86_64               9.3.14-1.62.amzn1          amzn-main
postgresql95-devel.x86_64               9.5.4-1.71.amzn1           amzn-main

次に、バージョン9.4の場合、対応するバージョンをインストールするだけです。

Sudo yum install postgresql94-devel
3
Justin Fortier

Amazon Linuxの場合:

Sudo yum install postgresql-devel

その後、コマンドを再度実行します

2
Gaurav Ragtah

Macでは、postgresがリンクされていることを確認してください。あなたはそれをすることができます

brew link --overwrite postgresql

これで問題が解決しました。

1
Ashkinas

これを試して:

Sudo apt-get install libpq-dev
gem install pg 

それはうまくいくでしょう!

1

_brew install postgresql_は私のために働いた。

Postgresqlのインストールで別のエラーが発生していました

_Error: The following directories are not writable by your user: /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3_

このエラーは、現在のユーザーに上記のディレクトリへのアクセスを許可することで修正されました

Sudo chown -R $(whoami) (path)

0
defcon

Ubuntu-16を使用しています。そして、ここに示す方法を使用します。 https://www.postgresql.org/download/linux/ubuntu/ postgresql-9.6;そして、私は"Sudo apt-get install libpq-dev" devlibをインストールしますが、それでも動作しません。したがって、メソッドlnを使用してソフトリンクを確立します。ここではSudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/; Sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/そして、私はついに問題を解決しました。

0
lxc

これは私のために働いた:

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