?这是容易出现错误的地方,前面一般没有错误,有错误也很好解决,这个地方的错误一般不容易解决
sudo rosdep init
这个出现ERROR: cannot download default sources list from:笔者尝试了好多种方法,在我前面的博文中也有说这个问题的,更换热点,修改hosts文件等等,这些都是一些指标不治本的方法,跑 ros updata的时候仍然会出错,出错的原因在于因为一些众所周知的原因访问raw.githubusercontent.com出错,下面给出根本性的解决方法。
思路就是:将url地址全部改为本地的下载的包的地址
1、进入github.com/ros/rosdistro去把这个包下载下来,注意下载下来之后放到你的根目录文件下,并且确定这个包的名字是rosdistro ,只能是这个名字,不一致的重命名一下。
2、修改rosdistro rosdep/source.list.d/下的文件20-default.list 将这个文件中指向raw.githubusercontent.com 的url地址全部修改为指向本地文件的地址.(我的文件名是zsl,这个改成你自己的文件名xxx,其他的不要变,直接复制就可以。
# os-specific listings first
yaml file:///home/zsl/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/zsl/rosdistro/rosdep/base.yaml
yaml file:///home/zsl/rosdistro/rosdep/python.yaml
yaml file:///home/zsl/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/zsl/rosdistro/releases/fuerte.yaml fuerte
3.在计算机 目录下/usr/lib/python2.7/dist-packages/rosdep2 该文件夹下面的sources_list.py修改 默认url(我的文件名是zsl,这个改成你自己的文件名xxx,其他的不要变,直接复制就可以。
# default file to download with 'init' command in order to bootstrap
# rosdep
DEFAULT_SOURCES_LIST_URL = 'file:///home/zsl/rosdistro/rosdep/sources.list.d/20-default.list'
# seconds to wait before aborting download of rosdep data
4. 我的文件名是zsl,这个改成你自己的文件名xxx,其他的不要变,直接复制就可以。
修改/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
# location of targets file for processing gbpdistro files
REP3_TARGETS_URL = 'file:///home/zsl/rosdistro/releases/targets.yaml'
# seconds to wait before aborting download of gbpdistro data
5.?? 我的文件名是zsl,这个改成你自己的文件名xxx,其他的不要变,直接复制就可以。
修改 /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
# index information
DEFAULT_INDEX_URL = 'file:///home/zsl/rosdistro/index-v4.yaml'
def get_index_url():
说明,如果没有权限修改,在修改的文件目录下打开终端
sudo chmod 777 xxxxx
然后修改即可。(有问题可以及时留言)
修改完成之后,再尝试进行初始化rosdep
sudo rosdep init
|