私は2 Rubyバージョン:1.8.7と1.9.2およびPostgreSQL 8.3を持っています。それらのいずれにもpg gemをインストールできません。このエラーが発生します:
C:/Development/Ruby187/bin/Ruby.exe extconf.rb
checking for pg_config... yes
not recorded
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:/Development/Ruby187/bin/Ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
一般的な問題であることはわかっていますが、実用的な解決策はまだ見つかりません...ああ、C:\ Program Files(x86)\ PostgreSQL\8.3\binをPATHに追加しました。
表示されるメッセージは、そのgemを正しくインストールするための何かがないことを明確に示しています。
なんらかの理由でMakefileを作成できませんでした。おそらく必要なライブラリやヘッダーが不足している可能性があります。詳細については、mkmf.logファイルを確認してください。構成オプションが必要になる場合があります。
昨日リリースされたpg(0.10.0)の最新リリースのWindowsネイティブバージョンはありませんが、0.9.0をインストールすると、問題なくバイナリがインストールされます。
とにかく、gemをインストールする場合は、ビルド環境をインストールする必要があります。 RubyInstallerを使用している場合は、 DevKit が必要です。
Gemのインストールでは、gemのインストールに追加のオプションを提供するだけで済みます(--with-pg-dir
など)。
subst X: "C:\Program Files (x86)\PostgreSQL\8.3"
gem install pg -- --with-pg-dir=X:
subst X: /D
Linuxユーザー向けのPsAdding。
Libpq-devのインストール中にこのエラーを解決しました。
私はこれを2日間戦いました。 Rails msysgitが提供する優れたユニキシのようなコマンドウィンドウからコマンドラインを実行します。含まれているpostgresql-path.batファイルを作成しました
@set PATH=%PATH%;C:\Progra~1\PostgreSQL\8.3\bin
@set PATH=%PATH%;C:\Progra~1\PostgreSQL\8.3\include
@set PATH=%PATH%;C:\Progra~1\PostgreSQL\8.3
追加したmsys.batファイルの上部
CALL postgresql-path.bat
PostgreSQLディレクトリ用のPATH変数からスペースを取得するとすぐに、「pg」のインストールに関する問題は解消されました。これが誰かが私が抱えていた問題を救うことを願っています。
ほぼ2日間の試行錯誤の後(そして、このスレッドや他の場所での以前の投稿のアドバイスに大部分感謝しました)、Ruby 1.8にpg 0.10.0を正常にインストールすることができました.7(RubyInstallerとInstantRailsの両方のバージョンの場合)誰かがこの問題に再度遭遇した場合に備えて、最後に成功したインストールプロセスを要約します。
まず、インストール手順に従って DevKit をインストールする必要がありました。インストールを正常に実行するには、(安全のため)コピーして、\ Ruby187\lib\Ruby\site_Ruby\1.8\rubygems\defaultsフォルダーにあるoperating_system.rbファイルを削除する必要がありました。
次に、rake-compilerとrdoc gemsをインストールしました。 gem install rake-compiler gem install rdoc(どちらかに問題がある場合は、-platform = win32構成オプションを自由に使用することをお勧めします)
それらが正常にインストールされると、pg自体の最終的なインストールは次のようになります。
gem install pg --platform = mswin32 --version = 0.9.0--with-pg = {Postgres directory short name} \
例えばgem install pg --platform = mswin32 --version = 0.9.0--with-pg = C:\ PostgreSQL \
最後の「\」は、インストーラがディレクトリ文字列を解析する方法に必要なようです。設定オプションの使用が必要以上に多いかもしれないことに気付きましたが、(-versionオプションを除外した場合)バージョン0.10.0のインストールは明らかに成功しましたが、実際には機能しませんでした。
このシーケンスで私を助けてくれたこのスレッドの人々に再び感謝します。
これは簡単なことのように思えるかもしれませんが、少し同じことをしたのと同じエラーが発生しました。ヘッダーを見つけるためのビルドを取得した後、すぐに失敗し、libpqを見つけることができないと主張しました。私はようやく、32ビットRubyで64ビットpostgresインストールに対してビルドしようとしていると推定しました。 32ビットpostgresをインストールすると、即時修正が行われました。同じスレッドで他の誰かがこのスレッドでつまずく場合に備えて、これを追加すると思いました。
最初のインストールRuby DevKit
Windows XPおよびMSysGIT bashターミナルから、インストールパスに基づいて次のようにします
subst X: "D:/ Program Files/PostgreSQL/9.0"
gem install pg---with-pg = X:
私のgem pg-0.10.1が正常にインストールされました。
"gem install pg"が機能していません
取得:pg-0.17.0.gem(100%)ネイティブ拡張をビルドしています。これにはしばらく時間がかかります...エラー:pgのインストールエラー:エラー:gemネイティブ拡張のビルドに失敗しました。
これを試してみて、私にとってはうまくいきました。あなたにとってもうまくいくと確信しています::
#On Ubuntu
$ Sudo apt-get install postgresql-client libpq5 libpq-dev
$ Sudo gem install pg
「 'libpq-fe.hヘッダーが見つかりません」というメッセージは、インストーラーがヘッダーを見つけられないことを意味します
gem install pg -- --with-pg-config="C:/PROGRA~2/POSTGR~1/8.3/bin/pg_config.exe"
。Pg gemのネイティブ拡張をビルドするには、Ruby DevKit( http://rubyinstaller.org/downloads/ )が必要です。
私は別の問題に会います:
D:\app1>rake test
(in D:/app1)
rake aborted!
no such file to load -- 1.9/pg_ext
この場合、手動でコンテンツをコピーする必要がありますC:\Ruby\192\lib\Ruby\gems\1.9.1\gems\pg-0.10.0\lib\
にC:\Ruby\192\lib\Ruby\gems\1.9.1\gems\pg-0.10.0\lib\1.9
ルイス、ありがとう! pg 0.9.0は問題なくインストールされました。
最新バージョン(0.10.0)の場合、devkitとこのコマンド "gem install pg---with pg-dir = path/to/your/postgresql/dir"が必要です
追加の「-」を残しておくと、エラーが発生します。「gem install pg --with-pg-dir = C:/postgresql/9.0」
Windows 7、PostgreSQL 8.4、Ruby 1.9.2:
subst X:\ "C:\Program Files\PostgreSQL\8.4"
gem install pg -- --with-pg=X:/
これで正常にインストールされました。
その他の簡単な方法、Windows
Postgresql ODBCをインストールします。
PgqlODBC libディレクトリからlibpq.dllをコピーします
PostGreSQL libディレクトリに貼り付けます
このコマンドを実行します(あなたのコマンドに応じて、このコマンドにPostGreSQLパスを適用します)。
gem install pg -- --with-pg-config="C:\Dev\Databases\PostgreSQL\9.0\bin\pg_config.exe"
私も同じ問題を抱えていました。ほとんどの場合、PostgreSQLの前のパスにPerlがインストールされています。 Windowsで最も一般的なPerlインストールでは、そのビンにpg_config
という実行可能ファイル名があり、競合が発生します。
pg v0.10.0は、パスがスペースなしで指定されている限り(例:C:/ PROGRA〜)、rubyinstaller + devkitで問題なくインストールされます。
わかった:
そして魔法のトリック:
is that you do not have this installed -- > postgres-devel
それを入手してください:
install postgresql-devel
それだけです...単にgem install pgを実行するだけではありません。
PostgreSQL 9.0:
gem install pg --platform=mswin32 --version=0.9.0 -- '--with-pg="C:\Progra~1\PostgreSQL\"'
シングルティックのカプセル化に注意してください。 (〜1は「プログラムファイル」を示し、PostgreSQLがWin64のプログラムファイル(x86)にある場合は〜2に変更します)
pg
gemのバージョン0.13.0
以降、次のようなものを使用してインストールできるはずです。
subst X: "C:\Program Files\PostgreSQL\9.0"
gem install pg -- -- with-pg=X:
subst X: /D
次に、bundle install
を正常に実行し、出力に次の行を表示できます。
Using pg (0.13.0)
エラーの代わりに。
私は同じ問題に出くわしました。私はdbiを使用してpostgresデータベースにアクセスしたかったので、Pgをインストールする必要がありました。このスレッドの他の投稿と同様の手順でモジュールを正常にコンパイルするのに1日かかりました。しかし、2回目は、ODBCを使用するという別の解決策を見つけました。
Ruby dbiおよびodbc gemをインストールします
gem install dbi
gem install Ruby-odbc
gem install dbd-odbc
Postgresに接続する
require 'dbi'
dbh = DBI.connect('dbi:ODBC:DSN_NAME', 'USER', 'PASS')
これは私にとってRuby 1.9.1 on Windows XP 32ビットを使用しています。また、これはDBI.connect
行(すでにDBIを使用している場合)。