ROS——rosdep update 超时解决方法(亲测有效——高效解决方案)

前言:

安装ros的最后一步是rosdep init和rosdep update.
但是我的osdep init莫名其妙的解决了,按理说也访问不了国外的服务器,不知为啥,直接rosdep init,就成功了。但是rosdep update就是死活弄不成功,在网上翻了大量的资料,最后按照以下方案弄成功了,亲测有效。

做此记录,一是方便让后来者少走弯路,二是在之后自己再次装的时候也方便。

我的ROS版本:Ubuntu18.04

正文:

一、先记录一下截屏快捷键
在设置,键盘中,可以找到这个选项。
在这里插入图片描述在这里插入图片描述
二、关于 rosdep

安装ros的最后一步是rosdep init和rosdep update,rosdep是解决ros包依赖问题的一个工具。

rosdep init会从ros官方服务器上下载一个“20-default.list”文件,放在“/etc/ros/rosdep/sources.list.d/”路径下;打开“20-default.list”发现里边是一些yaml文件的网址,这些yaml文件里保存着一些ros工具或者常见ros包的依赖关系,也即:这些ros工具或者ros包依赖于哪些其它ros包。当你执行rosdep update,rosdep会尝试访问yaml文件网址,把yaml里的信息转存到本地,这样当你配置上述ros工具或者ros包时,ros会按照依赖关系自动把所需的依赖一并下载。这也是为什么一些人会认为rosdep失败也不影响ros使用,因为只有当你下载相关包时才会用到rosdep。

不难发现,rosdep init和rosdep update都需要访问境外服务器,这就导致国内用户rosdep相关操作经常失败。

三、问题显示及解决过程
在这里插入图片描述
就是超时,海外服务器连接不上。

解决办法:换代理服务器——关键

网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。
我们要做的,是在rosdep的若干个脚本文件中,把 https://ghproxy.com/ 添加到相应URL前面即可。依次在以下文件中添加。

1.首先修改rosdep下载资源的脚本文件:/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.接着,以下4个文件中也使用了“raw.githubusercontent.com”网址,同样的方法把“https://ghproxy.com/”添加到网址前:

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

备注:这个具体多少行,可能不太一样,可以用Ctrl+F在文件中查找,直接搜raw找github原来的地址即可。

4、最后,在 /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 的第204行添加如下代码:

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

如果不添加会导致第五个hit链接不上。

对于第五个地址[https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]报错的问题
在这里插入图片描述在这里插入图片描述大功告成,现在你可以愉快地执行 rosdep update 啦!预祝一把过。
在这里插入图片描述
主要参考链接:
1、rosdep update 超时失败2021最新解决方法
2、ROS学习——rosdep update 超时解决方法
3、解决rosdep update失败问题
4、ROS安装过程中如何解决 rosdep update 命令出现错误

  • 22
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值