安装libpq-dev软件包出现错误

20

我尝试安装pg gem,但遇到了以下警告:

您需要安装postgresql-server-dev-X.Y以构建服务器端扩展或libpq-dev以构建客户端应用程序。

因此我尝试安装libpq-dev包,但又收到了以下警告:

libpq-dev:依赖于libpq5(= 8.4.17-0squeeze1),但要安装的是9.1.9-1〜bpo60+1。

如何解决这个问题?


1
安装node-postgres包时会出现相同的错误。 - Kinnard Hockenhull
4个回答

27

我有一个类似的问题,我通过安装特定版本的libpg5解决了它

sudo apt install libpq5=10.12-0ubuntu0.18.04.1

我的机器是Ubuntu 18.04


4
我收到了 E: 找不到版本为 'libpq5' 的 '10.12-0ubuntu0.18.04.1' 的错误信息。 - pmiranda
这对我有效,使用了错误信息中列出的版本。 - Eric Blum
我认为你的意思是 libpq5=10.21-0ubuntu0.18.04.1(不是12,而是21),参考链接:https://packages.ubuntu.com/bionic/libpq5。 - lampShadesDrifter
1
注意,这对我来说导致了“将删除以下软件包:pgadmin4、pgadmin4-desktop、pgadmin4-server、pgadmin4-web”。 - lampShadesDrifter
我无法通过 apt install 解决问题,所以我使用 sudo aptitude install 并降级版本以匹配兼容性。现在它可以运行了。供参考。 - AndyC

21
这应该可以让你安装所需的软件包 :) 我刚试过了,我不确定你是否需要第二行中的所有软件包,请尝试并查看 :)
apt-get update
apt-get install libxslt-dev libxml2-dev libpam-dev libedit-dev
aptitude install -t squeeze-backports postgresql-server-dev-9.1

在15.04版本中,sudo aptitude install postgresql-server-dev-9.4 命令可以正常工作。无需处理其他依赖项即可解决错误。这是在VirtualBox虚拟机上使用test-kitchen和vivid server实现的。 - Chaim Eliyah
1
现在我遇到了 aptitude: command not found 的问题。 - Sanan Ali

6

您需要安装postgresql-server-dev-X.Y,其中X.Y是您的服务器版本,并且它将安装libpq-dev和其他用于服务器端开发的模块变量。在我的情况下,它是

apt-get install postgresql-server-dev-9.5

阅读软件包列表...完成 构建依赖树中...已完成 以下软件包是自动安装的,不再需要: libmysqlclient18 mysql-common 使用 'apt-get autoremove' 命令将它们移除。 将安装以下额外的软件包: libpq-dev 建议安装以下软件包: postgresql-doc-10 将会安装以下新的软件包: libpq-dev postgresql-server-dev-9.5

奇怪的事情是:在我的Rasbian上,libpg-dev无法单独安装。但是安装postgresql-server-dev-11实际上会安装libpg-dev。之后,开发库实际上已经安装了,但是dpkg -l libpg-dev没有显示任何结果。 - ceving

2

我执行了

apt-get -y libpq-dev

它运行成功了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接