3

私が走るとき

$ gem install pg

私は次のことを得る

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

        /usr/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=/usr/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 /usr/lib/ruby/gems/1.9.1/gems/pg-0.15.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/pg-0.15.1/ext/gem_make.out

私が走るとき

$ gem install pg -- --with-pg-config= /cygdrive/c/Program Files/PostgreSQL/9.0/bin/pg-config

私は次のことを得る

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby.exe extconf.rb --with-pg-config= /cygdrive/c/Program Files/PostgreSQL/9.0/bin/pg-config
Using config values from
sh: : command not found
sh: : command not found
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/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


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/pg-0.15.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/pg-0.15.1/ext/gem_make.out

sh: : command not found」とはどういう意味ですか?

これがインストールが失敗する理由ですか?

バックグラウンド:

  • 私はCygwinを使用しています
  • PostgreSQLのワンクリックインストーラーを使用しました
  • pg_config.exe ファイルは C/Program Files/PostgreSQL/9.0/bin/pg-config.exe にあります。
  • libpq-fe.h ファイルは、C/Program Files/PostgreSQL/9.0/include/libpq-fe.h にあります。
4

2 に答える 2

2

ネイティブ Windows コードと Cygwin コードを混在させることはできません。リンクするlibpq場合は、cygwinビルドlibpqが必要です。また、にある のバージョンが cygwin のものであることを確認する必要がありpg_configますPATH。ネイティブのpg_configWindows ビルドからは、Cygwin ツールが理解できない出力が生成されます。たとえできたとしても、ネイティブ ライブラリに対して正常にリンクして実行することはできません。

Cygwin を使用しなくなったため、現在のインストール方法についてアドバイスを提供することはできませんlibpqpostgresql-clientおそらく、Cygwin のパッケージ管理には、libpqなどと呼ばれる lib があります。

Cygwin は、現時点では PostgreSQL の優先順位がかなり低いプラットフォームです。Ruby+Rails と PostgreSQL の両方に Windows のネイティブ バージョンがあることを考えると、ここで苦労することになります。両方のツールのネイティブ バージョンを使用することをお勧めします。msys bash を使用して unix のようなシェル環境で作業することもできます。また、MSVC++ がオプションでない場合は、MinGW の gcc を使用してネイティブの Windows 実行可能ファイルとライブラリを生成できます。

于 2013-06-15T08:22:09.637 に答える
-1

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

sudo apt-get install postgresql
sudo apt-get install libpq-dev

それで

gem install pg
于 2013-08-06T18:31:10.913 に答える