继官方文档
sudo apt-get install -y mongodb-org
返回
The following packages have unmet dependencies:
mongodb-org : Depends: mongodb-org-shell but it is not going to be installed
Depends: mongodb-org-server but it is not going to be installed
Depends: mongodb-org-mongos but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
我使用清除功能删除了较早版本的 mongodb,因为服务无法启动,但现在我无法重新安装它。尝试手动安装依赖项时,我得到了
The following packages have unmet dependencies:
mongodb-org-shell : Depends: libcurl3 (>= 7.16.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
答案1
根据您遵循的安装指南,MongoDB 4.2.0 仅有适用于 Debian 9“Stretch”的二进制包。
Debian 10 的官方软件包(服务器-37768) 将从即将发布的 MongoDB 4.2.1 版本开始提供。
服务器和驱动程序版本发布于mongodb-宣布Google 群组;4.2.1 发布之前至少会有一个候选版本 (RC)。
mongodb-org-shell:依赖:libcurl3(>=7.16.2)但不会安装
由于libcurl
Debian 10 中的依赖冲突(libcurl3
并且libcurl4
都提供libcurl.so.4
),Debian 9 软件包不兼容。Debian 9 使用libcurl3
;Debian 10 软件包使用libcurl4
。
答案2
显然 libcurl3 和 libcurl4 不能共存。我删除 libcurl4 后问题得到解决
答案3
使用以下命令,使用 Mongodb 为 Debian 9 Stretch 提供的官方源列表。
回显“debhttp://repo.mongodb.org/apt/debianstretch/mongodb-org/4.2 main” | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
MongoDB 官方文档令人困惑。