引言

本文是在ubuntu 16.04 rosdep rosupdate始终不成功的情况下写的,根据《安装ROS, 初始化时rosdep update出错解决办法》1依旧会报错误:
ERROR: error loading sources list: <urlopen error <urlopen error [Errno 2] No such file or directory: '/etc/ros/rosdistro/master/index-v4.yaml'> (file:///etc/ros/rosdistro/master/index-v4.yaml)>
最终发下如下解决方案。

解决方案

下载替换文件到本地

csdn下载链接
github下载链接

修改文件一

rosdep init 未成功

init 成功可直接跳至编辑文件。
创建如下文件:

$ sudo mkdir -p /etc/ros/rosdep/sources.list.d/
$ cd /etc/ros/rosdep/sources.list.d/
$ sudo touch 20-default.list

编辑文件

$ cd /etc/ros/rosdep/sources.list.d/
$ sudo vim 20-default.list

删除文件内所有内容,粘贴下述内容,博主的文件解压地址是/home/pi/Downloads/rosdistro请根据实际情况修改:

yaml file:///home/pi/Downloads/rosdistro/master/rosdep/osx-homebrew.yaml osx
yaml file:///home/pi/Downloads/rosdistro/master/rosdep/base.yaml
yaml file:///home/pi/Downloads/rosdistro/master/rosdep/python.yaml
yaml file:///home/pi/Downloads/rosdistro/master/rosdep/ruby.yaml

gbpdistro file:///home/pi/Downloads/rosdistro/master/releases/fuerte.yaml fuerte
# 如果上行命令在update时无法识别修改为即可成功下载
# yaml file:///home/pi/Downloads/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

执行

$ rosdep update

运行成功就不需要往下看了。
如果报错No such file or directory: '/etc/ros/rosdistro/master/index-v4.yaml请看下一条。

修改文件二

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

找到如下字段
在这里插入图片描述

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

修改为:

'file:/home/pi/Downloads/rosdistro/master/index-v4.yaml'

再执行 rosdep update即可成功。
在这里插入图片描述

参考


  1. 安装ROS, 初始化时rosdep update出错解决办法——super_sean ↩︎

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐