バンドル(バンドルインストール)を実行しようとすると、常に
Installing pg (0.13.2) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/ryan/.rvm/rubies/Ruby-1.9.2-p290/bin/Ruby 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=/Users/ryan/.rvm/rubies/Ruby-1.9.2-p290/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 /Users/ryan/.rvm/gems/Ruby-1.9.2-p290/gems/pg-0.13.2 for inspection.
Results logged to /Users/ryan/.rvm/gems/Ruby-1.9.2-p290/gems/pg-0.13.2/ext/gem_make.out
An error occured while installing pg (0.13.2), and Bundler cannot continue.
Make sure that `gem install pg -v '0.13.2'` succeeds before bundling.
Mac OS X 10.6を使用していますが、インストールされているPostgreSQLのバージョンは9.1です。問題はlibpq-devにあることがわかりました。どうすればインストール/修正できますか?
エラーログに記載されているように、pg_configへのパスを渡す必要があります。以下を使用してgemをインストールしてください。
gem install pg -- --with-pg-config= 'PATH_TO_YOUR_PG_CONFIG'
Pg_configの場所が不明で、LinuxまたはMacを使用していると仮定すると、次のコマンドを実行できます。
which pg_config
Pg-configは、postgresのインストール方法に応じて異なる場所に配置できます。
linuxで実行している場合は、私に合ったものに興味があるかもしれません。
Sudo apt-get install postgresql
Sudo apt-get install libpq-dev
それから
gem install pg
それから
bundle install
src: http://wikimatze.de/installing-postgresql-gem-under-ubuntu-and-mac
Postgress.app を使用している場合は、 コマンドラインツール にアクセスできます。ターミナルまたは PATHプロファイル に次の行を入力します。
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
gem install pg
が動作するはずです。 (これは私のために働いたものです。)
注新しいバージョンのパスは次のようになります。
/Applications/Postgres.app/Contents/Versions/<version>/bin
自作の場合は、次のように入力します。
$ postgresqlをインストールする
お持ちでない場合は、ターミナルに次のように入力してダウンロードしてください。
Ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install )"
Libpqを検索:
brew search libpq
libpqxx
を出力する必要があります
それからインストールしてみてください:
brew install libpqxx
libpq-dev
のみをインストールする必要があります:
Sudo apt-get install libpq-dev
その後、gemは問題なくインストールされるはずです。
インストール後の指示に従ってください: http://postgresapp.com/documentation/configuration-Ruby.html
Pg gemをインストールするには、$ PATHが正しく設定されていることを確認して( http://postgresapp.com/documentation/cli-tools.html で指定されているように)、次に実行します
Sudo ARCHFLAGS="-Arch x86_64" gem install pg
私強く両方のページを読むことをお勧めします。ただそれらをざっと見て、私の人生の1時間を失った。それらを読んで、問題を解決しました。
私が抱えていた問題は、何らかの理由で/usr/bin/gcc-4.2でコンパイルしようとしていたことでした。私は、mkmf.rbのtry_cpp(スタックトレースで見た)を変更して、失敗したコンパイル行で例外を発生させることでそれを見つけました。
私はgccをgcc-4.2にソフトリンクしましたが、うまくいきました:
Sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
なぜgcc-4.2を使用しようとしたのですか?わからない。
実際のコンパイル行:
/usr/bin/gcc-4.2 -E -I/Users/dfrankow/.rvm/rubies/Ruby-1.9.3-p125/include/Ruby-1.9.1/x86_64-darwin11.4.0 -I/Users/dfrankow/.rvm/rubies/Ruby-1.9.3-p125/include/Ruby-1.9.1/Ruby/backward -I/Users/dfrankow/.rvm/rubies/Ruby-1.9.3-p125/include/Ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/Cellar/postgresql/9.1.4/include -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -fno-common -pipe conftest.c -o conftest.i (RuntimeError)
同じ問題が発生しましたが、Postgresをインストールしました
/Library/PostgreSQL/9.3
以下を追加して〜/ .bash_profileを更新しました:
export PATH=/Library/PostgreSQL/9.3/bin:$PATH
新しいターミナルを開いてbundle update
を実行すると、うまくいきました。ありがとうアリ。
OpenSUSE13.1 KDEマシンでも同じ問題が発生しました。その問題が発生する前に、postgresql
コマンドを使用してパッケージzypper
およびpostgresql-server
のみをインストールしていました。次に、さらに2つのパッケージをインストールしました。
[arup@to_do_app]$ Sudo zypper in postgresql-devel postgresql-contrib
root's password:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
#....
その後、私は再びbundle install
を実行し、成功しました!!!
ビルド構成オプションbundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
を設定し、オプションなしでgem install pg
を使用できます(pg_configへのパスは異なる場合があります。これはPostgresapp 9.3.5.0用です)
最初に、Homebrewバージョンをアンインストールします。 --forceオプションを使用すると、すべてのバージョンがアンインストールされます。
brew rm postgresql --force
バージョンに応じてパスを変更します。
Sudo /sbin/SystemStarter stop postgresql-8.4
Sudo rm -rf /Applications/PostgreSQL\ 8.4
Sudo rm -rf /etc/postgres-reg.ini
Sudo rm -rf /Library/StartupItems/postgresql-8.4
Sudo rm -rf /Library/PostgreSQL/8.4
Sudo dscl . delete /users/postgres
/ etc/profileを編集し、「postgres」を参照する行を削除します。
nano /etc/profile
PostgresSQLをインストールする
brew update
brew install postgresql
De PG GEMをインストール
gem install pg
それでおしまい。よろしく。
El Capitanで私にとってうまくいったのは、Rubyをシステムのデフォルトから2.3.1にアップグレードすることで、pg
gemが必要とする正しいライブラリを見つけたようです。
Libファイルに移動して、最初に端末にpostrgresqlファイルがあるかどうかを確認できます。 cd〜/ opt/local/lib /に進み、lsと入力ボタンを入力します。これにより、libディレクトリにあるすべてのファイルのリストが表示されます。
1. postreseqlがない場合は、macportsからダウンロードできます。 sudoポートインストールpostgresql93 @ 9.3.2_1
バンドルインストールを試みているフォルダに戻ってcdします
バンドルインストールを実行する
Fedoraの場合:
dnf install postgresql-devel
動作するOSXソリューションについては、このガイドを参照してください http://krugerdavid.com/journal/how-to-install-xcode-homebrew-git-rvm-postgresql-Ruby-1-9-3-on-snow-ヒョウ/
Homebrewを使用してPostgreSQLをインストールする手順を説明します。 OSX 10.8.3、PostgreSQL 9.2.3、およびRuby 2.0.0-p0でテストおよび動作