Ubuntu Mate 22.04.1安装ROS2 Foxy提示找不到包的解决方法
解决ROS2 Foxy在Ubuntu 22.04上无法安装的问题
核心原因
ROS2 Foxy Fitzroy仅官方支持Ubuntu 20.04(Focal Fossa),完全不兼容Ubuntu 22.04(Jammy Jellyfish),这是apt无法定位到ros-foxy-desktop包的根本原因。
可行解决方案
方案1:切换适配22.04的ROS2版本
Ubuntu 22.04对应的长期支持ROS2版本是Humble Hawksbill,执行以下步骤安装:
- 移除已添加的Foxy相关软件源(如果存在):
sudo rm /etc/apt/sources.list.d/ros2.list - 添加Humble软件源并完成安装:
sudo apt update && sudo apt install curl gnupg lsb-release sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update sudo apt install ros-humble-desktop - 设置终端自动加载环境变量:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
方案2:用Docker隔离安装ROS2 Foxy
如果必须使用Foxy,可通过Docker创建独立运行环境:
- 安装Docker:
sudo apt update sudo apt install docker.io sudo usermod -aG docker $USER - 重启终端后拉取镜像并启动容器:
docker pull osrf/ros:foxy-desktop docker run -it --rm osrf/ros:foxy-desktop
方案3:降级Ubuntu到20.04
若坚持在本地系统使用Foxy,只能将Ubuntu Mate从22.04降级到20.04。此操作存在数据丢失风险,务必先备份所有重要文件再执行。
仓库适配说明
你克隆的机器人仓库若基于Foxy开发,切换到Humble后可能需要做少量代码适配(如包格式、API细微调整),可参考ROS2官方版本迁移规则修改。
内容的提问来源于stack exchange,提问作者Chris Jubin
相关产品推荐
相关产品推荐

