web-dev-qa-db-ja.com

pg gemをインストールできません

gem install pgを使用してみましたが、うまくいかないようです。

gem install pgはこのエラーを返します

Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

C:/Ruby/bin/Ruby.exe 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.

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=C:/Ruby/bin/Ruby
        --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 C:/Ruby/lib/Ruby/gems/1.8/gems/pg-0.10.1 for
inspection.
Results logged to C:/Ruby/lib/Ruby/gems/1.8/gems/pg-0.10.1/ext/gem_make.out
204
Rohit

ここで回答: Windowsにpg gemをインストールできません

昨日リリースされたpg(0.10.0)の最新リリースのWindowsネイティブバージョンはありませんが、0.9.0をインストールする場合、問題なくバイナリをインストールする必要があります。

14
Nikita Barsukov

私はこの問題を抱えていた、これは私のために働いた:

Postgresql-develパッケージをインストールすると、pg_configが見つからないという問題が解決します。

Sudo apt-get install libpq-dev
367
Devaroop

問題はgemの依存関係であるため、pgをインストールする前に「libpq-dev」がインストールされていることを確認してください

Ubuntuシステム:

Sudo apt-get install libpq-dev

RHELシステム:

yum install postgresql-devel

マック:

postgresqlをインストールする

73
Mahattam

gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config

58
Flaviu

@Winfield 言った

Pg gemでは、バインドするためにpostgresqlクライアントlibrariesが必要です。通常、このエラーは、Postgresライブラリが見つからないことを意味します。それらをインストールしていないか、--with-pg-dir=をgemインストールに渡す必要があるかもしれません。

それ以上は、--with-pg-config=だけでインストールできます。

Macで

万が一、MacのWebサイトバンドルからpostgresもインストールした場合は、/Applications/Postgres.app/Contents/Versions/9.3/binのような場所にあります。

したがって、gemインストールでそれを渡すか、

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

またはあなた PATHを適切に設定 。それは多すぎるので、一時的にPATHを設定するには:

export PATH=%PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/
34
cregox

私はpostgresqlをインストールしていなかったので、使用してインストールしました

Sudo apt-get install postgresql postgresql-server-dev-9.1

ubuntu 12.04で。

これで解決しました。


更新:

最新バージョンを使用します。

Sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3
24

私の場合、私はubuntu 14.04.2 LTSを使用しています

Sudo apt-get install libpq-dev

そして私は使う

Ruby 2.2.2&Rails 4.2.1

16
Zainal

MacでPostgres.appを使用している場合、この問題を次のように解決できます。

最初にgem uninstall pg、次に~/.bash_profileまたは~/.zshrcファイルまたは同等のファイルを編集して追加します:

# PostgreSQL bin path
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin

その後、bundle installgem install pgの両方が期待どおりに動作するはずです。

10
Darme
$ PATH=$PATH:/Library/PostgreSQL/9.1/bin Sudo gem install pg

システムにインストールされているバージョンの9.1を置き換えます。

9
jstnno

Mac OS(El Capitano)で。単純に使用できます:brew install postgresql

5
Jones Agyemang

Pg gemには、バインドするpostgresqlクライアントライブラリが必要です。通常、このエラーは、Postgresライブラリが見つからないことを意味します。それらをインストールしていないか、-with-pg-dir =をgemインストールに渡す必要があるかもしれません。

3
Winfield

Archフラグとともに使用します。

Sudo env ARCHFLAGS="-Arch x86_64" gem install pg

これにより、同じ問題が解決されました。

3
Aman Chhabra

Linux Mint(Maya)13でこの問題を解決し、postgresqlとpostgresql-serverをインストールして修正しました。

apt-get install postgresql-9.1 

Sudo apt-get install postgresql-server-dev-9.1
2
SAIDI Belkacem

実行しているOSに関係なく、ものを盲目的にインストールする代わりに、"Makefile"のログファイルを見て、何が起こっているのかを確認します。

私の場合、MAC OSでは、ログファイルは次のとおりです。

/Users/za/.rbenv/versions/2.3.0/lib/Ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log

ログには、次の理由でmakeファイルを作成できなかったことが示されました。

Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers

Mkmf.log内で、ビルドを完了するために必要なライブラリが見つからなかったことがわかります。

checking for pg_config... no
Can't find the 'libpq-fe.h header
blah blah

"brew install postgresql"を実行すると、必要なすべてのライブラリがそこにあることがわかります。

za:myapp za$ cat /Users/za/.rbenv/versions/2.3.0/lib/Ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/pg-1.0.0/mkmf.log | grep yes
find_executable: checking for pg_config... -------------------- yes
find_header: checking for libpq-fe.h... -------------------- yes
find_header: checking for libpq/libpq-fs.h... -------------------- yes
find_header: checking for pg_config_manual.h... -------------------- yes
have_library: checking for PQconnectdb() in -lpq... -------------------- yes
have_func: checking for PQsetSingleRowMode()... -------------------- yes
have_func: checking for PQconninfo()... -------------------- yes
have_func: checking for PQsslAttribute()... -------------------- yes
have_func: checking for PQencryptPasswordConn()... -------------------- yes
have_const: checking for PG_DIAG_TABLE_NAME in libpq-fe.h... -------------------- yes
have_header: checking for unistd.h... -------------------- yes
have_header: checking for inttypes.h... -------------------- yes
checking for C99 variable length arrays... -------------------- yes
2
zee

Macユーザー向け

PATH=$PATH:/Library/PostgreSQL/9.4/bin/ gem install pg

これはトリックを行う必要があります

2
Ronak Jain

Rubyの代わりにjrubyを使用している場合、pg gemのインストール時に同様の問題が発生します。代わりに、アダプターをインストールする必要があります。

gem 'activerecord-jdbcpostgresql-adapter'
1
Nuri

PGでこの厄介な問題を何年も経験しています。私はこの要点を作成しました。

次のコマンドは常に機能します。

# Substitute Postgres.app/Contents/Versions/9.5 with appropriate version number
Sudo ARCHFLAGS="-Arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config

要点: https://Gist.github.com/sharnie/5588340cf023fb177c8d

1
SharnieIvery

CentOS 5.8でこれを行う必要がありました。 bundle installを実行すると、特定のPGバージョンを使用するように強制できなかったため、問題が発生し続けました。

依存関係の問題のため、yum erase postgresql postgresql-develもできません(php、httpなどを削除します)

ソリューション?一時的に$ PATHを混乱させて、デフォルトではなくpgsqlの更新を優先します。

export PATH=/usr/pgsql-9.2/bin:$PATH
bundle install

基本的に、上記のコマンドでは、/usr/pgsql-9.2/bin/pg_configの前にある/usr/bin/pg_configを調べます。

1
Christian

Macではbrew install postgres THEN bundle install

1
Yar HTUT

here に移動して、pgバージョンがWin32プラットフォームをサポートしているかどうかを確認し、このコマンドを使用してインストールします。

gem install pg -v 0.14.1 --platform = x86-mingw32

0
revskill