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

运行foxy_install_aim.sh安装ROS包时出现无法定位软件包报错

问题根因

从日志里的Ubuntu版本代号jammy可以判断当前运行环境是Ubuntu 22.04 LTS,而你执行的foxy_install_aim.sh是为ROS 2 Foxy版本编写的安装脚本——ROS 2 Foxy官方仅适配Ubuntu 20.04 LTS(版本代号Focal),22.04软件源中根本不存在Foxy对应的deb安装包,这就是所有E: Unable to locate package报错的核心原因。后续出现的geographiclib-get-geoids命令不存在、/opt/ros/foxy/setup.bash文件缺失,都是前面安装步骤失败后连带产生的问题。
日志里的apt-key is deprecated属于新版本apt的常规警告,不影响实际安装流程,不需要单独处理。

修复方案

方案1:使用匹配脚本的系统版本(稳定性最高,完全对齐教程要求)

  • 提前备份系统内的重要数据,重装Ubuntu 20.04 LTS系统,不要使用22.04及以上版本
  • 系统安装完成后先更新本地软件源缓存,再重新执行安装脚本即可解决所有包查找失败的问题
  • 若脚本执行完成后仍提示geographiclib-get-geoids: command not found,单独执行以下命令补装依赖即可:
    sudo apt install geographiclib-tools -y
    sudo geographiclib-get-geoids egm96-5
    

方案2:不重装系统,修改脚本适配Ubuntu 22.04

如果不想更换系统版本,按以下步骤调整脚本和环境适配22.04:

  1. 先清理之前错误添加的软件源配置,避免源冲突:
    sudo rm -f /etc/apt/sources.list.d/ros2.list
    sudo apt update
    
  2. 对foxy_install_aim.sh脚本做两处全局替换:将脚本内所有foxy字段替换为humble(Ubuntu 22.04适配的长期支持ROS2版本为Humble),将脚本内所有gazebo11、libgazebo11-dev字段替换为gazebo、libgazebo-dev(22.04官方源内Gazebo包名不带版本后缀)
  3. 提前配置适配22.04的ROS 2 Humble官方软件源,更新源缓存
  4. 提前安装缺失的工具依赖:
    sudo apt install geographiclib-tools -y
    sudo geographiclib-get-geoids egm96-5
    
  5. 给脚本重新添加执行权限后运行即可:
    chmod +x ./foxy_install_aim.sh
    ./foxy_install_aim.sh
    

如果修改后运行脚本仍提示个别ROS包找不到,直接将对应包名的ros-foxy-前缀替换为ros-humble-,手动执行apt安装即可。

注意事项
  • 运行安装脚本前建议先执行sudo apt upgrade -y将系统现有软件包升级到最新版本,避免出现依赖版本冲突
  • 脚本执行过程中如果出现权限报错,确认所有apt相关操作都加了sudo提权

内容的提问来源于stack exchange,提问作者user19323824

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:54:14