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
ここで回答: Windowsにpg gemをインストールできません
昨日リリースされたpg(0.10.0)の最新リリースのWindowsネイティブバージョンはありませんが、0.9.0をインストールする場合、問題なくバイナリをインストールする必要があります。
私はこの問題を抱えていた、これは私のために働いた:
Postgresql-develパッケージをインストールすると、pg_configが見つからないという問題が解決します。
Sudo apt-get install libpq-dev
問題はgemの依存関係であるため、pgをインストールする前に「libpq-dev」がインストールされていることを確認してください
Ubuntuシステム:
Sudo apt-get install libpq-dev
RHELシステム:
yum install postgresql-devel
マック:
postgresqlをインストールする
gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
@Winfield 言った :
Pg gemでは、バインドするためにpostgresqlクライアントlibrariesが必要です。通常、このエラーは、Postgresライブラリが見つからないことを意味します。それらをインストールしていないか、
--with-pg-dir=
をgemインストールに渡す必要があるかもしれません。
それ以上は、--with-pg-config=
だけでインストールできます。
万が一、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/
私は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
私の場合、私はubuntu 14.04.2 LTSを使用しています
Sudo apt-get install libpq-dev
そして私は使う
Ruby 2.2.2&Rails 4.2.1
MacでPostgres.appを使用している場合、この問題を次のように解決できます。
最初にgem uninstall pg
、次に~/.bash_profile
または~/.zshrc
ファイルまたは同等のファイルを編集して追加します:
# PostgreSQL bin path
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin
その後、bundle install
とgem install pg
の両方が期待どおりに動作するはずです。
$ PATH=$PATH:/Library/PostgreSQL/9.1/bin Sudo gem install pg
システムにインストールされているバージョンの9.1を置き換えます。
Mac OS(El Capitano)で。単純に使用できます:brew install postgresql
Pg gemには、バインドするpostgresqlクライアントライブラリが必要です。通常、このエラーは、Postgresライブラリが見つからないことを意味します。それらをインストールしていないか、-with-pg-dir =をgemインストールに渡す必要があるかもしれません。
Arch
フラグとともに使用します。
Sudo env ARCHFLAGS="-Arch x86_64" gem install pg
これにより、同じ問題が解決されました。
Linux Mint(Maya)13でこの問題を解決し、postgresqlとpostgresql-serverをインストールして修正しました。
apt-get install postgresql-9.1
Sudo apt-get install postgresql-server-dev-9.1
実行している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
Macユーザー向け
PATH=$PATH:/Library/PostgreSQL/9.4/bin/ gem install pg
これはトリックを行う必要があります
Rubyの代わりにjrubyを使用している場合、pg gemのインストール時に同様の問題が発生します。代わりに、アダプターをインストールする必要があります。
gem 'activerecord-jdbcpostgresql-adapter'
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
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
を調べます。
Macではbrew install postgres
THEN bundle install
here に移動して、pgバージョンがWin32プラットフォームをサポートしているかどうかを確認し、このコマンドを使用してインストールします。
gem install pg -v 0.14.1 --platform = x86-mingw32