我在华硕Chromebook上通过crouton安装了Ubuntu 12.04 Precise。我有一个需要postgres的rails应用程序。当我运行“bundle”时,它无法安装pg gem。我尝试独立安装它的多个版本,但它失败了。失败报告如下:
构建原生扩展。这可能需要一段时间...错误:安装pg时出错: 错误:无法构建gem原生扩展。
/home/oscar/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -r ./siteconf20150331-16650-11xjo0a.rb extconf.rb checking for
pg_config ... yes使用/ usr / bin / pg_config中的配置值您需要 安装postgresql-server-dev-X.Y用于构建服务器端 用于构建客户端应用程序的扩展或libpq-dev。您 需要安装postgresql-server-dev-X.Y来构建服务器端 用于构建客户端应用程序的扩展或libpq-dev。 检查libpq-fe.h ...否找不到'libpq-fe.h标头 * extconf.rb失败* 由于某些原因无法创建Makefile,可能缺少必要的库和/或标头。校验 mkmf.log文件以获取更多详细信息。您可能需要配置 选项。
提供配置选项: --with-OPT-DIR --without-OPT-DIR --with-OPT-包括 --without-OPT-包括= $ {停用DIR} /包括 --with-OPT-LIB --without-OPT-LIB = $ {选择-DIR} / lib目录 --with-MAKE-PROG --without-MAKE-PROG --srcdir =。 --curdir --ruby = /家庭/奥斯卡/ .rvm /红宝石/红宝石1.9.3-P551 /斌/红宝石 --with-PG --without-PG --enable-窗口交 - 禁用窗口交 --with-PG-配置 --without-PG-配置 --with-pg_config --without-pg_config --with-PG-DIR --without-PG-DIR --with-PG-包括 --without-PG-包括= $ {PG-DIR} /包括 --with-PG-LIB --without-PG-LIB = $ {PG-DIR} / lib中
extconf失败,退出代码1
Gem文件将保持安装状态 /home/oscar/.rvm/gems/ruby-1.9.3-p551/gems/pg-0.18.1进行检查。 记录结果 /home/oscar/.rvm/gems/ruby-1.9.3-p551/extensions/x86_64-linux/1.9.1/pg-0.18.1/gem_make.out
我还尝试使用brew安装它。下载的文件,似乎安装,但当我运行“brew upgrade postgresql”时,它说postgresql不会退出。我完全没有想法,而且我无法找到任何有问题的人。
答案 0 :(得分:29)
据我所知,它所说的"您需要安装postgresql-server-dev-X.Y来构建服务器端扩展或libpq-dev来构建客户端应用程序"这意味着您需要在系统上安装软件包以使宝石工作。
所以在fedora我不得不yum install postgresql-devel
。因为你在Ubuntu上我觉得你需要做
sudo apt-get install libpq-dev
您可能还需要build-essential
才能运行
sudo apt-get install libpq-dev build-essential