web-dev-qa-db-ja.com

PostgreSQLのpg gemをUbuntuにインストールする方法は?

Ruby用にPostgreSQLのpg gemをインストールしようとしています。

次のコマンドを発行しました。

gem install pg

RVMを使用してRuby 1.9.2をインストールしました。

上記のコマンドを実行すると、次のエラーが表示されます。

エラーは次のとおりです。

Building native extensions.  This could take a while...

ERROR:  Error installing pg:

ERROR: Failed to build gem native extension.

/home/User/.rvm/rubies/Ruby-1.9.2-preview3/bin/Ruby extconf.rb

checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)

*** 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/User/.rvm/rubies/Ruby-1.9.2-preview3/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
 --enable-static-build
 --disable-static-build
 --with-pqlib
 --without-pqlib
 --with-libpqlib
 --without-libpqlib
 --with-ms/libpqlib
 --without-ms/libpqlib

Gem files will remain installed in /home/user/.rvm/gems/Ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.

Results logged to /home/user/.rvm/gems/Ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out

エラーが何なのかわかりません...

271
palani

PostgreSQLのヘッダーを含むpostgreSQL devパッケージをインストールする必要があります

Sudo apt-get install libpq-dev
636
shingara

2日間読んでスラッシングした後、他のメモにある多くのことを試した後、次の単一行がUbuntu Lucid 10.04でMaverickパッケージとRVM(Ruby 1.9.2-p290、rvm 1.10.2 ruby​​gemsと混合された場合の治療法でした1.8.15、Rails 3.0.1、postgres 8.4.10):

gem install pg  --   --with-pg-lib=/usr/lib   

結果:

Building native extensions.  This could take a while...  
Successfully installed pg-0.13.1  
1 gem installed  
Installing ri documentation for pg-0.13.1...  
Installing RDoc documentation for pg-0.13.1...  

{はい-最後に成功} !! !私のpg_configの実行からの出力には、Ubuntu/PostresqlインストールのLIBS変数の項目-lpqがないことに注意してください!!

そしてなぜ特定の場所でpqからpgに切り替えるのですか?

私がまだ理解していないことは、-と--with(optionの二重セットですが、とにかく深みを超えています

39
jdupont

私はUbuntu 12.10でこのコマンドを実行しています:

apt-get install libpq-dev

私を助けました-その後、gem install pg -v "0.14.1"を実行しました。

28
Xander

パッケージを追加する必要があります

Sudo apt-get install libpq-dev

roRにpg gemをインストールする

25

Libpq-devのインストールはうまくいきませんでした。 build-essentialもインストールする必要がありました

Sudo apt-get install libpq-dev build-essential
20
philwhln

Ubuntuユーザー向けのシンプルなソリューション...

最初にすべてのpostgresパッケージをアンインストールしてから、これらのコマンドを実行します...

Sudo apt-get install postgresql
Sudo apt-get install postgresql-client libpq5 libpq-dev

# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm 

# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm

gem install pg  --   --with-pg-lib=/usr/lib

次に、「バンドルインストール」を実行します。何もかも良くなるだろう。良い一日を過ごしてください!

16

Ubuntuではこれが私のために働く、私はあなたを助けることを願っています:

Sudo apt-get install libpq-dev

そして

gem install pg  --   --with-pg-lib=/usr/lib 
14
Marcos Riveros

.RVMユーザーの場合は次のようになります。

rvmsudo gem install pg -- --with-pg-lib=/usr/lib 

それは私のために働いた(私はjdupontバージョンを見た後)

9
vekozlov

Libpq-devがインストールされていて、まだこの問題がある場合は、OpenSSLのlibsslとフレンドの競合バージョンが原因である可能性があります-/ usr/libのUbuntuシステムバージョン(libpqの構築対象)と$にインストールされた2番目のバージョンRVM HOME/.rvm/usr/lib(または、システムインストールの場合は/ usr/local/rvm/usr/lib)。これを確認するには、一時的に$ HOME/.rvm/usr/libの名前を変更し、「gem install pg」が機能するかどうかを確認します。

この問題を解決するには、システムOpenSSLライブラリを使用してrvmを再構築します(rvm/usr/libディレクトリからlibssl。*およびlibcrypto。*を手動で削除する必要がある場合があります)。

rvm reinstall 1.9.3 --with-openssl-dir=/usr

これでようやくUbunto 12.04で問題が解決しました。

6
Mike Blackwell

これを試して

Sudo apt-get install postgresql postgresql-contrib libpq-dev

クライアントをインストールするには、最初にPGデータベースサーバーをインストールする必要があります。その後、クライアントをインストールします。

Ruby開発でのRailsのPostGresSQLの初めてのセットアップについては、このブログ投稿を参照してください。

5
illusionist

ここでのすべての提案が失敗した後、これによりUbuntu 12.04での問題が解決しました。

rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql
5
olafurg

新しくインストールしたUbuntu 16.04でRailsプロジェクトをセットアップしようとしていました。バンドルの実行中に同じ問題に遭遇しました。ランニング

Sudo apt-get install aptitude

に続く

Sudo apt-get install libpq-dev

私のためにそれを解決しました。

3
bishal

このページのすべての回答を試しても問題が解決しない場合は、次の(最終的に)うまくいきました。

Sudo apt-get install libgmp3-dev
gem install pg

これはafterこのページに記載されている他のすべてを行っていました。

postgresql 9.5.8
Ubuntu 16.10

2
marksiemers

私は同じ問題を抱えており、さまざまなバリエーションを試しました。いくつかの試行の後、私はSudo gem installを使用できるようになりましたが、それでもSudoなしでインストールするのに問題があります。
最後に決定を見つけました-rvmの再インストールは私を助けました。おそらく他の誰かの時間を節約できるでしょう。

1
RaskolnikOFF

Redmineをインストールしようとする人のために、上記のすべてを試した後、Sudo apt-get install Ruby-all-devを見逃しました。

mkmf.rb can't find header files for Ruby at /usr/lib/Ruby/include/Ruby.hである初期エラー。

1
Matthieu

この問題の別の解決策は、Homebrew/linuxbrewを使用してPostgreSQLをインストールすることです。

brew install postgresql

習慣として、私がする必要がない限り、Sudoを使用するのは好きではありません。

1
Braden Mugg

apt-get install Ruby-devは私のために働いた。

0
ssss4world