2017-01-13 28 views
0

私は、Postgres pg gemをインストールするのと同様のエラーでSOのすべての投稿を見直しました。DockerビルドがSinatraプロジェクトにpg gemをインストールできない

私の問題はユニークです:私は正常にGemfileとbundle installを経由して、私のシナトラRubyプロジェクトにはPostgresを追加することができます - ドッカーイメージを構築するときしかし、それは次のエラーでpgをインストール失敗:

ERROR: Error installing pg: 
ERROR: Failed to build gem native extension. 

current directory: /usr/local/bundle/gems/pg-0.19.0/ext 
/usr/local/bin/ruby -r ./siteconf20170113-7-ottv1k.rb 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 *** 

私は」

  • ブリュー両方のファイルへのパスを指定してインストール/アンインストール、
  • 宝石のインストール/アンインストール:を試みたすべてのものは、同様の答えを示唆しましとlibpq-fe.h
  • など

私はドッカーとあまり慣れていないんだと、私はドッカーとDBのインストールについて欠けている何かがあるのでしょうか?

何か助けを前もって感謝します。ありがとうございました。

+0

あなたのDockerファイルを投稿してください – user2915097

答えて

1

これでも問題が解決しない場合は、ドッカーの画像にpostgresql-client,postgresql-devbuild-essentialsがインストールされていることを確認してください。バンドルインストールを実行する前に、Dockerfileに

... 
RUN apk update && apk upgrade 
RUN apk add postgresql-client build-dependencies postgresql-dev 
... 

などを含めてください。 postgresql-devパッケージには、ヘッダーとその他の開発関連ファイルが含まれています。

+1

もう少し拡張するには、ローカルマシンに 'brew'がインストールされていますが、Dockerはこれらの変更を見ません。これは仮想マシンのように動作します。クライアントOSにpostgresqlがない場合、 'pg' gemはコンパイルに失敗します。 Glenの応答は、クライアントにインストールされた応答を取得します。 –

関連する問題