树莓派3b+上Ubuntu MATE 20.04运行ROS Foxy时source命令执行失败求助
问题原因及解决方法
核心原因
出现/opt/ros/foxy/setup.bash: No such file or directory错误的本质是ROS Foxy并未成功安装到系统中,或安装过程出现中断、路径配置错误。常见诱因包括:
- 安装步骤遗漏(如未添加ROS源、未更新软件索引)
- 树莓派ARM架构适配问题导致安装失败
- 误操作安装其他ROS版本,或路径拼写错误
解决步骤
1. 确认ROS安装状态
先检查系统中是否存在ROS Foxy的安装目录:
ls /opt/ros
如果输出里没有foxy文件夹,说明ROS Foxy完全没安装成功,需重新执行安装流程。
2. 重新安装ROS Foxy(适配树莓派3B+ Ubuntu MATE 20.04)
执行以下完整安装命令:
- 添加ROS 2软件源:
sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu focal main" > /etc/apt/sources.list.d/ros2.list' - 添加ROS密钥:
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - - 更新软件索引:
sudo apt update - 安装桌面版(包含可视化工具,适合开发):
若仅需基础功能,可安装精简版:sudo apt install ros-foxy-desktop -ysudo apt install ros-foxy-ros-base -y
3. 验证安装并配置自动source
安装完成后,再次执行source命令验证:
source /opt/ros/foxy/setup.bash
为避免每次终端启动都手动执行source,可将命令添加到~/.bashrc:
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc source ~/.bashrc
4. 排查架构适配问题
树莓派3B+为ARMv8架构,Ubuntu MATE 20.04的ARM版本(32/64位)均支持ROS Foxy。可通过以下命令确认系统架构:
uname -m
输出为aarch64(64位)或armv7l(32位)均符合要求,若架构不匹配需重新刷入对应版本的Ubuntu MATE系统。
内容的提问来源于stack exchange,提问作者Chris Jubin
相关产品推荐
相关产品推荐

