解决ROS中“sudo rosdep init“和“rosdep update“超时问题的最新方法--2021年最新方法

安装ros的最后一步rosdep init和rosdep update经常会遇到超时问题,原因是这两步需要访问境外服务器。细心的网友会发现,之前奏效的方法现在成功的概率很小甚至失败。最近有一平台也需要部署ROS环境,也是搜索了很久才发现最新的方法,现在记下来供后来人参考。

1. 老方法

先来总结一下以前的方法,如果你也试过这些方法,可以忽视,直接跳到新方法。

  • 老方法一:修改/etc/hosts

可以通过网站https://www.ipaddress.com 搜索“raw.githubusercontent.com”服务器的ip地址,然后在/etc/houts文件中添加相应的ip,如下在文件末尾增加一行。

151.101.84.133 raw.githubusercontent.com

以前这个方法百试百灵,现在不行了。

  • 老方法二:使用手机热点

有时候将电脑连自己手机的热点,也可以成功,只不过需要多试几次。

  • 更换地址

把“20-default.list”文件中所有yaml链接里的“raw.githubusercontent.com”替换为“raw.github.com”

  • 修改“/etc/resolv.conf”文件

添加谷歌的域名服务器

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

2. 新方法

网站https://ghproxy.com/支持github的资源代理,亲测有效,我们将用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。只需要添加代理网址即可。

  • 修改位置1:/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

把以下行添加到脚本中的download_rosdep_data()函数中。

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

效果如下:
在这里插入图片描述

  • 修改位置2:/usr/lib/python2.7/dist-packages/rosdistro/init.py

将DEFAULT_INDEX_URL 的内容进行替换,即注释原来的内容,替换为下列内容:

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

效果如下:
在这里插入图片描述

  • 修改位置3:

这一次修改有四个文本,5处位置,把含有github的地方前面都加上https://ghproxy.com/,即都修改为:https://ghproxy.com/https://github…

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

拿第一个举例,效果如下:

在这里插入图片描述
好了,烦恼终于解决了,可以愉快的使用了!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非晚非晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值