rosdep update错误解决

系统:ubuntu 16.04

主要问题:

 rosdep update时频繁出现time out,无法正常运行。

rosdep update错误解决_第1张图片

 初步考虑应该是国内连接外网(raw.githubusercontent.com)受限的原因,导致下载部分文件出现time out问题。

在网上找了很久,主要解决方法有2种。

1.采用手动下载相关文件的方式,先下载离线文件,再修改/home/xxx/Downloads/rosdistro/rosdep/sources.list.d/20-default.list文件内容,更改以下文件中的url使其指向本地存储。

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

具体操作见这个链接:https://zhuanlan.zhihu.com/p/405920122

2.另一种方法是更换国内镜像源,主要参考这个博主,也是我最终采用的方法。

https://blog.csdn.net/qq_40157728/article/details/121810420

以下是我的处理方法:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

将上述三个文件中的 “raw.githubusercontent.com/ros/rosdistro/master” 替换为国内镜像网址“gitee.com/ssonic/rosdistro/raw/master

此时进行rosdep update,出现如下情况:

rosdep update错误解决_第2张图片

 注意到部分文件的下载地址已经改为镜像网址,但是index.yaml仍然来自原github网址。

于是找到下面的文件,同样将其中的“raw.githubusercontent.com/ros/rosdistro/master” 替换为国内镜像网址“gitee.com/ssonic/rosdistro/raw/master"

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

将源代码中如下形式:

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

更改为:

DEFAULT_INDEX_URL = 'https://gitee.com/ssonic/rosdistro/raw/master/index-v4.yaml'

更改完全部文件后,将原来的20-default.list文件删除再重新执行sudo rosdep init

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
sudo rosdep init
rosdep update

再次运行rosdep update,问题得到解决:

rosdep update错误解决_第3张图片

你可能感兴趣的:(linux,ubuntu)