Ubuntu20.04ROS rosdep update超时失败解决方法
文章目录
一、rosdep介绍
rosdep是解决ros包依赖问题的一个工具,也是安装ROS的最后一步。
rosdep init会从ros官方服务器上下载一个“20-default.list”文件,放在“/etc/ros/rosdep/sources.list.d/”路径下;里面是一些yaml文件的网址,yaml文件里保存着一些ros工具或者常见ros包的依赖关系。
rosdep update会尝试访问yaml文件网址,把yaml里的信息下载到本地。
二、之前尝试的方法
之前尝试了很多方法,包括直接搭梯子、修改hosts文件等,但均无效。最后找到了该方法解决了问题。
三、方法介绍
该方法是通过支持github的其他网站资源代理,来加速访问命令。
如果之前有装过conda环境,可以使用该命令退出conda环境
conda deactivate
attention:
- python版本根据实际选择
- 不能用tab,需要将tab更换为空格,否则会报错
1、修改sources_list.py
sudo get-edit /usr/lib/python3/dist-packages/rosdep2/sources_list.py
在第311行增加一行
url="https://ghproxy.com/"+url
2、init.py
sudo get-edit /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、gbpdistro_support.py
sudo get-edit /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
修改其中的第36行,在网址中增加https://ghproxy.com/
4、sources_list.py
sudo get-edit /usr/lib/python3/dist-packages/rosdep2/sources_list.py
修改其中的第72行,在网址中增加https://ghproxy.com/
5、rep3.py
sudo get-edit /usr/lib/python3/dist-packages/rosdep2/rep3.py
修改其中的第39行,在网址中增加https://ghproxy.com/
6、github.py
sudo get-edit /usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py
修改其中的第68、119行,在网址中增加https://ghproxy.com/
7、gbpdistro_support.py
sudo get-edit /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
在第204行增加
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
8、执行rosdep update
之后就可以正常使用了
四、参考
rosdep update 超时失败2021最新解决方法:https://blog.csdn.net/Kenny_GuanHua/article/details/116845781
解决ROS系统 rosdep update超时问题的新方法:https://blog.csdn.net/leida_wt/article/details/115120940