web-dev-qa-db-ja.com

「gem pq」を使用してPostgreSQL gemをインストールすると、次のエラーで失敗する:gem native extensionのビルドに失敗しました

私はRuby on Railsで、アプリケーションを開発しようとしています。私のアプリケーションでは、デフォルトの開発のSQLiteデータベースを使用しようとしています。モードおよび実稼働モードのPostgreSQL。しかし、pg gemを使用してインストールしようとすると、次のエラーが表示されます:gem install pg

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.
 
    /home/tusharkhatiwada/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev
 for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev
 for building a client-side application.
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=/home/tusharkhatiwada/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby
        --with-pg
        --without-pg
        --with-pg-config
        --without-pg-config
        --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}/
 
 
Gem files will remain installed in /home/tusharkhatiwada/.rvm/gems/[email protected]/g
ems/pg-0.17.0 for inspection.
Results logged to /home/tusharkhatiwada/.rvm/gems/[email protected]/gems/pg-0.17.0/ext
/gem_make.out

その後、私は再びgem install pg -- --with-pg-config= '/usr/bin/pg_config'および次のエラーが表示されます。

Building native extensions with: '--with-pg-config= /usr/bin/pg_config'
This could take a while...
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.
 
    /home/tusharkhatiwada/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby extconf.rb --with-pg-config= /us
r/bin/pg_config
Using config values from 
sh: 1: : Permission denied
sh: 1: : Permission denied
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=/home/tusharkhatiwada/.rvm/rubies/Ruby-2.0.0-p247/bin/Ruby
        --with-pg
        --without-pg
        --with-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}/
 
 
Gem files will remain installed in /home/tusharkhatiwada/.rvm/gems/[email protected]/g
ems/pg-0.17.0 for inspection.
Results logged to /home/tusharkhatiwada/.rvm/gems/[email protected]/gems/pg-0.17.0/ext
/gem_make.out
34

Ubuntuを使用している場合は、次のlibファイルをインストールしてください。

Sudo apt-get install libpq-dev

そして、gem install pg

私のために働いた。

124
santosh

libpq-devが機能しなかったり、別のエラーを投げた場合、Google検索でこれに到達した人は、システムをアップグレードしてRuby div-kitを取得してください

Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install Ruby1.9.1-dev

その後、再試行してください

...

0
Haytham Mtair

あなたはこれをしなければなりません

Sudo apt-get install libgmp-dev libpq-dev

その後

gem install pg
0