web-dev-qa-db-ja.com

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

私は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に追加しました。

32
sNiCKY

表示されるメッセージは、その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
31
Luis Lavena

Linuxユーザー向けのPsAdding。

Libpq-devのインストール中にこのエラーを解決しました。

27
FabricioFCarv

私はこれを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」のインストールに関する問題は解消されました。これが誰かが私が抱えていた問題を救うことを願っています。

12
seehad

ほぼ2日間の試行錯誤の後(そして、このスレッドや他の場所での以前の投稿のアドバイスに大部分感謝しました)、Ruby 1.8にpg 0.10.0を正常にインストールすることができました.7(RubyInstallerとInstantRailsの両方のバージョンの場合)誰かがこの問題に再度遭遇した場合に備えて、最後に成功したインストールプロセスを要約します。

まず、インストール手順に従って DevKit をインストールする必要がありました。インストールを正常に実行するには、(安全のため)コピーして、\ Ruby187\lib\Ruby\site_Ruby\1.8\ruby​​gems\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のインストールは明らかに成功しましたが、実際には機能しませんでした。

このシーケンスで私を助けてくれたこのスレッドの人々に再び感謝します。

8
DGB

これは簡単なことのように思えるかもしれませんが、少し同じことをしたのと同じエラーが発生しました。ヘッダーを見つけるためのビルドを取得した後、すぐに失敗し、libpqを見つけることができないと主張しました。私はようやく、32ビットRubyで64ビットpostgresインストールに対してビルドしようとしていると推定しました。 32ビットpostgresをインストールすると、即時修正が行われました。同じスレッドで他の誰かがこのスレッドでつまずく場合に備えて、これを追加すると思いました。

3
Rob Nesius

最初のインストール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が正常にインストールされました。

3
David Fernandez

"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

これは「Windows上のUbuntu上のBash」でも機能するはずです。

2
Anand Kothari

「 'libpq-fe.hヘッダーが見つかりません」というメッセージは、インストーラーがヘッダーを見つけられないことを意味します

  • Postgreインストールに開発ツールが含まれていることを確認します( "include"フォルダー)。不在の場合はpostgre開発ツールをインストールします。
  • Pg_config.exeの場所を確認します。次のようにインストールを実行する必要があります
    gem install pg -- --with-pg-config="C:/PROGRA~2/POSTGR~1/8.3/bin/pg_config.exe"
    shortフォルダ名を使用する必要があることに注意してください。

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

2
Alex

ルイス、ありがとう! 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」

1
daniel

Windows 7、PostgreSQL 8.4、Ruby 1.9.2:

subst X:\ "C:\Program Files\PostgreSQL\8.4"

gem install pg -- --with-pg=X:/

これで正常にインストールされました。

1
Denis Gorbunov

その他の簡単な方法、Windows

  1. Postgresql ODBCをインストールします。

  2. PgqlODBC libディレクトリからlibpq.dllをコピーします

  3. PostGreSQL libディレクトリに貼り付けます

  4. このコマンドを実行します(あなたのコマンドに応じて、このコマンドにPostGreSQLパスを適用します)。

    gem install pg -- --with-pg-config="C:\Dev\Databases\PostgreSQL\9.0\bin\pg_config.exe"
    
1
Morgan

私も同じ問題を抱えていました。ほとんどの場合、PostgreSQLの前のパスにPerlがインストールされています。 Windowsで最も一般的なPerlインストールでは、そのビンにpg_configという実行可能ファイル名があり、競合が発生します。

pg v0.10.0は、パスがスペースなしで指定されている限り(例:C:/ PROGRA〜)、rubyinstaller + devkitで問題なくインストールされます。

1
glebm

わかった:

そして魔法のトリック:

is that you do not have this installed -- > postgres-devel

それを入手してください:

install postgresql-devel

それだけです...単にgem install pgを実行するだけではありません。

0
Sumit Munot

PostgreSQL 9.0:

gem install pg --platform=mswin32 --version=0.9.0 -- '--with-pg="C:\Progra~1\PostgreSQL\"'

シングルティックのカプセル化に注意してください。 (〜1は「プログラムファイル」を示し、PostgreSQLがWin64のプログラムファイル(x86)にある場合は〜2に変更します)

0
James C.

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)

エラーの代わりに。

0
Kenny Evitt

私は同じ問題に出くわしました。私はdbiを使用してpostgresデータベースにアクセスしたかったので、Pgをインストールする必要がありました。このスレッドの他の投稿と同様の手順でモジュールを正常にコンパイルするのに1日かかりました。しかし、2回目は、ODBCを使用するという別の解決策を見つけました。

  1. ODBC postgresql用のドライバをインストールします( http://www.postgresql.org/ftp/odbc/versions/
  2. データソースを設定します( http://www.xtuple.org/SettingUpPostgresAndOdbc
  3. Ruby dbiおよびodbc gemをインストールします

    gem install dbi
    gem install Ruby-odbc
    gem install dbd-odbc
    
  4. Postgresに接続する

    require 'dbi'
    dbh = DBI.connect('dbi:ODBC:DSN_NAME', 'USER', 'PASS')
    

これは私にとってRuby 1.9.1 on Windows XP 32ビットを使用しています。また、これはDBI.connect行(すでにDBIを使用している場合)。

0
ZeWaren