ubuntu20.04安装ROS Noetic rosdep update timed out(超时问题)


问题描述:

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
ERROR: error loading sources list:
The read operation timed out
请添加图片描述

解决方法

参考链接:https://blog.csdn.net/leida_wt/article/details/115120940

原理:利用https://ghproxy.com/代理加速rosdep对Github Raw的访问,进而解决rosdep update超时问题。

不过,此参考链接是python2.7,我们需要改成python3.

接下来按步骤即可。

1. 修改sources_list.py

在/usr/lib/python3/dist-packages/rosdep2/sources_list.py中的函数download_rosdep_data下添加url

sudo vim /usr/lib/python3/dist-packages/rosdep2/sources_list.py

在函数download_rosdep_data中添加

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

在这里插入图片描述

2. 修改__ init__.py

修改/usr/lib/python3/dist-packages/rosdistro/__ init__.py里面的
DEFAULT_INDEX_URL

sudo vim /usr/lib/python3/dist-packages/rosdistro/__init__.py

修改DEFAULT_INDEX_URL,在原网址前添加代理https://ghproxy.com/

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

在这里插入图片描述

3. 继续添加代理

以下4个文件中也使用 raw.githubusercontent.com网址,同样的方法在原网址前添加 https://ghproxy.com/

/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 68119

第一个地址添加时,要注意下,容易出问题。别改变了代码格式。
在这里插入图片描述
剩下的地址添加没什么特别
在这里插入图片描述
等等。

4. 继续修改gbpdistro_support.py

在 /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py的204行添加以下代码

sudo vim  /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

在这里插入图片描述

都别忘了保存哈

最后验证是否成功

rosdep update

成功
在这里插入图片描述
如果出现问题

FUERTE_GBPDISTRO_URL = ‘https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/’ \ ‘master/releases/fuerte.yaml’
^
SyntaxError: unexpected character after line continuation character

这是第三步中的第一个地址添加有问题,代码格式改变了。



本文参考链接:https://blog.csdn.net/leida_wt/article/details/115120940

如果这方法还不行,可以看看
https://blog.csdn.net/weixin_44023934/article/details/121242176

猜你喜欢

转载自blog.csdn.net/qq_45945548/article/details/124065005