Docker构build无法在Sinatra项目中安装pg gem

我已经审查了所有的post与类似的错误安装Postgres的pggem。

我的问题是独特的:我可以通过Gemfile和bundle install成功地将Postgres添加到我的Sinatra Ruby项目中 – 但是在构buildDocker镜像时,安装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 *** 

我已经尝试了类似的答案build议一切:

  • Brew安装/卸载,
  • gem install / uninstall指定两个文件的path: pg_configlibpq-fe.h
  • 等等

由于我对Docker不太熟悉,有没有关于使用Docker安装数据库的问题?

任何帮助提前赞赏。 谢谢。

如果这仍是一个问题,请确保您的docker镜像安装了postgresql-clientpostgresql-devbuild-essentials 。 包括像

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

在运行bundle安装之前在你的Dockerfile中。 postgresql-dev软件包包含头文件和其他与dev相关的文件。

Interesting Posts