1

cloudbees dev クラウドで postgres を使用したいので、この記事を読みました: http://wiki.cloudbees.com/bin/view/DEV/PostgreSQL

しかし、実行するbundleとエラーが発生しました:

pg(0.15.1)のインストール.......

Gem::Installer::ExtensionBuildError: エラー: gem ネイティブ拡張のビルドに失敗しました。

    /usr/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 で libpq-fe.h をチェックしています... いいえ 'libpq-fe.h ヘッダーが見つかりません * extconf.rb が失敗しました *いくつかの理由で Makefile を作成できませんでした必要なライブラリやヘッダーが不足している可能性があります。詳細については、mkmf.log ファイルを確認してください。構成オプションが必要な場合があります。

提供される設定オプション: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib -- without-opt-lib=${opt-dir}/ --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}/ --with-pg-config --without-pg-config --with- pg_config --without-pg_config

Gem ファイルは、検査のために /home/jenkins/.gem/ruby/1.9.1/gems/pg-0.15.1 にインストールされたままになります。結果は /home/jenkins/.gem/ruby/1.9.1/gems/pg-0.15.1/ext/gem_make.out に記録されます pg (0.15.1) のインストール中にエラーが発生し、Bundler を続行できません。gem install pg -v '0.15.1'バンドルする前に、それが成功することを確認してください。

次に何をすればいいですか?

4

3 に答える 3

1

これを解決するには、次の 2 つの方法があります。

1)追加して、上記の回避策を使用します

PATH=/scratch/jenkins/postgresqls/postgresql-9.2.4-x86_64/bin:$PATH

プルリクエストビルドをサポートするためにそのパスを移動しようとしているため、これは理想的ではありません

2) 2 つのステップを組み合わせる

ビルドでは、環境が適切に構成されるように、PostgreSQL と Ruby のインストール手順を組み合わせる必要があります。

./bin/run-ci個人的には、 Jenkins にすべてを入力するのではなく 、スクリプトを使用してビルドを行うことをお勧めします。

これにより、ビルド プロセスの変更を管理および文書化することができ、複数のビルド サーバーに変更を迅速にロールアウトできます。

于 2013-06-18T01:48:56.557 に答える
0

私の回避策:

バンドルの上に PATH を設定します。9.2.4 が私のインストール バージョンです。

PATH=/scratch/hudson/postgresqls/postgresql-9.2.4-x86_64/bin:$PATH

その後、完成したものをバンドルできます:)

于 2013-06-17T14:41:16.137 に答える