E: Unable to locate package xacro

  • 思路以及解决步驟
    • 问题背景
    • 解决办法
    • 问题解决思路

思路以及解决步驟

问题背景

此问题发生在我学习ros2准备安装xacro来解决urdf建模语言高可用的
背景下 当时使用sudo apt-get install ros-sRos_DISTRO-xacro 指令
报错E: Unable to locate package xacro

我的环境是:Ubuntu 24.04.2 LTS ros2 rolling 版本

于是出现了以下结果E: Unable to locate package xacro

这个错误提示出现的原因及逻辑是,apt 无法搜索并获取到资源包

参看文章
ubuntu apt 工作原理

在这里插入图片描述

Ubuntu 换源后仍然报错:404、没有 Release 文件
于是我便使用sudo nono 建立了ubuntu.sources 文件
在这里插入图片描述

解决办法

切换为我操作系统对应的ros版本,且含有我所需要xacro包的源地址,AI深度搜索出来的结果。

sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

更新软件依赖

sudo apt-get update

安装ros rolling 专属版本的xacro ok 问题解决

sudo apt install ros-rolling-xacro

在这里插入图片描述

问题解决思路

1报错-》查找后换国内ros源
E: Unable to locate package xacro

2换源更新后又出现相关的问题

Ign:1 http://mirrors.ustc.edu.cn/ros/ubuntu noble InRelease
Err:2 http://mirrors.ustc.edu.cn/ros/ubuntu noble Release
  404  Not Found [IP: 2001:da8:d800:95::110 80]
Reading package lists... Done
E: The repository 'http://mirrors.ustc.edu.cn/ros/ubuntu noble Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

经过搜索发现是Ubuntu 24.04.2 LTS 下的 /etc/apt/sources.list.d/ubuntu.sources 文件缺失,可能是被我不小心删除了。

3建立ubuntu.sources 文件,再次更新以及还是爆出E: Unable to locate package xacro

4找出ubtuun24.04.0 与之对应的ros2版本ros rolling

ros 与ubtuun 对应

5使用找到rolling 下xacro包的地址并替换ros源而不是系统源
在这里插入图片描述
ros 开头的是ros源,ub开头的是系统源,.save是自动备份文件

总结:此后在出现软件包定位错误,版本所对应包所在的源的具体地址,再针对性的换源才切实有效。并可用apt 或者 apt-get search 来查找

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐