BeagleBone Green板卡MongoDB安装失败技术求助
解决BeagleBone Green(Debian Stretch armhf)安装MongoDB的问题
首先看你的操作日志和系统信息,核心问题很明确:MongoDB官方仓库不支持armhf架构——那条N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository '...' doesn't support architecture 'armhf'的提示就是关键。官方预编译包只针对x86_64这类主流架构,armhf不在支持列表里,所以官方教程的路子走不通。
下面给你两种靠谱的解决方法:
方法一:安装Debian官方维护的MongoDB包
Debian官方仓库里有适配armhf的MongoDB包(版本虽然比官方最新版旧一点,但稳定性有保障),步骤很简单:
- 先把之前加的无效官方仓库删掉,避免干扰:
sudo rm /etc/apt/sources.list.d/mongodb-org-*.list sudo apt-get update - 直接安装Debian官方的包:
sudo apt-get install -y mongodb - 验证一下:
# 启动服务 sudo systemctl start mongodb # 设置开机自启 sudo systemctl enable mongodb # 查看服务状态 sudo systemctl status mongodb # 检查版本 mongo --version
方法二:源码编译MongoDB(适合需要新版本的情况)
如果你必须用更高版本的MongoDB,那就只能源码编译了,步骤如下:
- 先安装编译需要的依赖:
sudo apt-get install -y build-essential cmake libssl-dev libsasl2-dev git - 克隆对应版本的源码(这里以3.6为例,你可以换成你需要的版本分支):
git clone -b r3.6 https://github.com/mongodb/mongo.git cd mongo - 创建编译目录开始编译:
注意:BeagleBone的性能不算强,编译会非常慢,一定要接好电源,耐心等待。mkdir build && cd build cmake .. make -j$(nproc) - 安装编译好的文件:
sudo make install - (可选)配置systemd服务:
可以参考官方文档写个systemd服务文件,方便管理MongoDB的启停和开机自启。
小提醒
- 别同时混用官方仓库和Debian官方仓库的包,容易引发依赖冲突。
- 源码编译如果报错,先检查依赖有没有安装完整,或者试试降一个小版本的源码,有时候新分支可能对armhf的支持存在兼容问题。
内容的提问来源于stack exchange,提问作者Ichrak Mansour
相关产品推荐
相关产品推荐

