ubuntu24.04 ros2 rosdep相关

rosdep init 异常,

ERROR: cannot download default sources list from:

https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

Website may be down.

<urlopen error <urlopen error Errno 111 Connection refused>

说明 `rosdep` 无法连接到 GitHub 上的 `rosdistro` 仓库。

这几乎可以肯定是由于**网络连接问题**或**防火墙/代理设置**导致的。以下是详细的排查步骤和解决方案:

可以手动创建 `rosdep` 试图下载的文件。

  1. **创建源列表目录**:

```bash

sudo mkdir -p /etc/ros/rosdep/sources.list.d

```

  1. **手动创建 `20-default.list` 文件**:

使用 `gedit` 或其他编辑器打开该文件。

```bash

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

```

  1. **复制并粘贴以下内容**:

将下面的官方源列表内容复制到打开的 `gedit` 文件中并保存。

复制代码
# os-specific listings first yaml 
https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/osx-homebrew.yaml osx # generic 
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/base.yaml 
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/python.yaml 
yaml https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/ruby.yaml 

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

完成以上操作后,`sudo rosdep init` 的工作就已经手动完成了。你可以继续执行后续的 `rosdep update` 命令。

rosdep update 异常

  1. 修订源

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list 如上,

  1. 修改文件

/usr/lib/python3/dist-packages/rosdistro/init.py

这个修订很重要

复制代码
#DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
DEFAULT_INDEX_URL = 'https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml'

rosdep update

复制代码
~/ros2_ws$ rosdep  update 
/usr/bin/rosdep:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/osx-homebrew.yaml
Hit https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/base.yaml
Hit https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/python.yaml
Hit https://mirrors.tuna.tsinghua.edu.cn/rosdistro/rosdep/ruby.yaml
Query rosdistro index https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Skip end-of-life distro "foxy"
Skip end-of-life distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "iron"
Skip end-of-life distro "jade"
Add distro "jazzy"
Add distro "kilted"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Skip end-of-life distro "melodic"
Skip end-of-life distro "noetic"
Add distro "rolling"

好运!

相关推荐
某林21218 小时前
从底层硬件死锁到 QoS 通信底层的全链路复盘
python·ros2·qos
BestOrNothing_201520 小时前
ROS2 C++ 小车控制完整实战(二):自定义 msg 消息发布与订阅保姆级教程
c++·ros2·subscriber·publisher·msg·topic通信·自定义接口
BestOrNothing_20151 天前
ROS2 C++ 小车控制完整实战(三):自定义 srv 服务通信保姆级教程
c++·service通信·ros2·client·server·srv
kyle~1 天前
工业机械臂---TCP标定验收
机器人·ros2·标定
kyle~2 天前
ROS 2 与 Isaac Sim 联合仿真(一)体系架构、环境选型与基础通信闭环
c++·机器人·nvidia·仿真·ros2
kyle~2 天前
ROS 2 与 Isaac Sim 联合仿真(三):工程化部署、性能优化、多机器人与 Sim-to-Real
机器人·nvidia·仿真·ros2
某林2122 天前
ROS2 语音机器人实战:从 KCF 跟随失效到 RTAB-Map 建图闭环的完整排障
人工智能·机器人·语音识别·ros2·架构重构·技术复盘·c++底层排错
济6172 天前
ROS开发专栏---ROS2 机械臂应用入门(2)---机械臂自动抓取物品实验---适配Ubuntu 22.04
嵌入式硬件·嵌入式·ros2·机器人开发·机器人方向
济6172 天前
ROS开发专栏---家庭服务机器人饮料递送实验---适配Ubuntu 22.04
嵌入式硬件·嵌入式·ros2·机器人方向
某林2123 天前
跨越底层与AI的鸿沟:ROS2+多模态大模型(Qwen-VL)机器人全链路排障实录
人工智能·stm32·机器人·人机交互·ros2·技术复盘