解决ROS系统 rosdep update 问题
解决ROS系统rosdep update问题
由于近期国内Github Raw的可用IP越来越少,通过修改hosts文件解决rosdep update超时问题的方法已经不太好用,本文通过修改rosdep源码中下载资源的函数来解决这一问题。
网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。
首先定位rosdep资源下载函数。从报错信息中得知,该函数名为download_rosdep_data,位于/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py。我们修改这一函数,添加:
1 | url="https://ghproxy.com/"+url |
应用ghproxy的代理服务。

用同样的方法修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py里面的DEFAULT_INDEX_URL(感谢评论区@p4227117的补充)。
即将DEFAULT_INDEX_URL 进行如下替换:
1 | DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml' |
除此处外,下述文件中也含有github地址,分别是:
1 | /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行 |
均可通过在地址前添加https://ghproxy.com/前缀来应用代理服务。
2021.7.1补充:
对于第五个地址 [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml] 报错的问题,请参考评论区@zgkjddk的方法:
在/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 第204行前面添加如下代码
1 | gbpdistro_url='https://ghproxy.com/'+gbpdistro_url |
效果如下:

再次尝试执行rosdep update,问题解决。
————————————————
版权声明:本文为CSDN博主「leida_wt」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leida_wt/article/details/115120940










