Ubuntu 17.10下MongoDB安装失败求助:官方不支持非LTS版本
解决Ubuntu非LTS版本安装MongoDB失败的问题
我明白你遇到的麻烦了——MongoDB官方确实只支持Ubuntu的LTS长期支持版本,而Ubuntu官方源里的mongodb包不仅版本老旧,还经常在非LTS版本上出现依赖缺失的情况,导致你执行sudo apt install mongodb时安装卡壳。你贴出的安装输出也能看出依赖链已经出问题了:
[sudo] password for nabhoneel: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libboost-chrono1.62.0 libboost-program-options1.62.0 libgoogle-perftools4 libtcmalloc-minimal4 libunwind8 lib...
下面给你几个实用的解决思路,按稳妥程度排序:
1. 用Docker运行MongoDB(最推荐,零依赖冲突)
如果不想折腾系统里的依赖问题,Docker绝对是最优解——不管你用Ubuntu的哪个版本,都能完美运行MongoDB,还能自由选择版本:
- 先安装Docker(如果还没装的话):
sudo apt install docker.io - 启动一个MongoDB容器,映射默认的27017端口到本地:
sudo docker run -d -p 27017:27017 --name mongodb mongo:latest - 需要进入数据库操作的话,直接执行:
sudo docker exec -it mongodb mongosh
这种方法完全隔离系统环境,不会干扰你原有的系统依赖,后续升级也很方便。
2. 变通使用MongoDB官方仓库(非官方支持,但大概率能用)
官方虽然不支持非LTS版本,但我们可以指定一个兼容的LTS版本的仓库源来安装,比如如果你用的是Ubuntu 23.10,可以用22.04(Jammy)的源,因为两者的依赖版本差异不大:
- 先清理之前的安装残留:
sudo apt purge mongodb* sudo apt autoremove && sudo apt clean - 导入MongoDB官方的GPG密钥:
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor - 添加官方仓库,注意把
jammy改成你对应的兼容LTS版本(比如20.04是focal):echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list - 更新源并安装官方包:
sudo apt update && sudo apt install mongodb-org
⚠️ 注意:这种方法没有官方技术支持,偶尔可能出现依赖冲突,但绝大多数情况下都能正常运行。
3. 尝试社区维护的第三方包(不推荐长期使用)
有些社区PPA会为非LTS版本提供MongoDB包,你可以搜索对应的PPA添加后安装,但要注意选择口碑好的源——毕竟第三方源的安全性和稳定性没有保障,不推荐作为长期生产环境的方案。
内容的提问来源于stack exchange,提问作者NovoBook
相关产品推荐
相关产品推荐

