ROS知识:安装rosdep中出现time out的问题

说明

本文是《 ROS知识 【6】Ubuntu20.04下ROS安装》一文中的附加内容。是在安装ros依赖管理工具rosdep出现的超时问题的解决方案。

rosdep是非常重要的ros部件,如果缺乏,将无法自动获取依赖,常表现为catkin_make编译不过。然而国内用户通常在 sudo rosdep init和rosdep update出现time out而无法安装。通过修改hosts文件解决rosdep update超时问题的方法已经不太好用,

1 关于github代理

本文通过修改rosdep源码中下载资源的函数来解决这一问题。【 法  GitHub Proxy 代理加速

说明:https://ghproxy.com是个代理网站,凡是对github等访问障碍的语句,都可以外挂代理解决速度问题。支持终端命令行 git clone , wget , curl 等工具下载

 网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,可以解决rosdep update超时问题。

2 首先定位rosdep资源下载函数。

从报错信息中查找线索,错误为download_rosdep_data处,位于/usr/lib/python3/dist-packages/rosdep2/sources_list.py脚本。我们修改这一函数,添加:

url="https://ghproxy.com/"+url

应用ghproxy的代理服务。


3  修改__init__.py

用同样的方法修改/usr/lib/python3/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL。
即将DEFAULT_INDEX_URL 进行如下替换:

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

4 修改下面5个脚本文件

通过在地址前添加https://ghproxy.com/前缀来应用代理服务,下述文件中凡含有github地址,都做相应修改,分别是:

/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py     36行
/usr/lib/python3/dist-packages/rosdep2/sources_list.py   72行
/usr/lib/python3/dist-packages/rosdep2/rep3.py     39行
/usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py  68行 119行

对文件/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py修改:

/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py 第204行添加:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

再次尝试执行rosdep update,问题解决。

参考文章:

解决ROS系统 rosdep update超时问题的新方法_leida_wt的博客-CSDN博客_rosdep update 超时

Guess you like

Origin blog.csdn.net/gongdiwudu/article/details/120535533
Recommended