2017-01-13 102 views
0

我已閱讀所有與SO類似的錯誤安裝Postgres pg gem的帖子。Docker構建無法在Sinatra項目中安裝pg gem

我的問題是獨特的:我可以通過的Gemfile和bundle install成功添加Postgres的我西納特拉Ruby項目 - 但構建它失敗,出現以下錯誤安裝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 *** 

我已經試過一切都在類似的答案提示:

  • 釀造安裝/卸載,
  • 創業板安裝/卸載指定的路徑這兩個文件:pg_configlibpq-fe.h

由於我不是太熟悉的碼頭工人,有什麼我失蹤有關安裝分貝泊塢窗?

任何幫助提前非常感激。謝謝。

+0

發佈您的Dockerfile – user2915097

回答

1

如果仍然存在問題,請確保您的泊塢窗圖像已安裝postgresql-clientpostgresql-devbuild-essentials。在運行bundle安裝前,在Dockerfile中包含類似

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

postgresql-dev包中包含標頭和其他與dev相關的文件。

+1

爲了進一步擴展這一點,brew正在您的本地機器上安裝,但Docker沒有看到這些更改。它像虛擬機一樣工作。如果客戶端操作系統沒有postgresql,'pg' gem將無法編譯。 Glen的迴應可以讓客戶安裝。 –