You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:03:57