背景

我在执行​​rosdep update​​指令时总是读取失败,原因就是访问​​raw.githubusercontent.com​​的网速不行,虽然按部就班地查询ipaddress.com并更新了​​/etc/hosts/​​的dns缓存,但还是无济于事,我的​​rosdep​​源文件位置与内容在下面:

$ cat /etc/ros/rosdep/sources.list.d/20-default.list
# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/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


离线下载方法

考虑离线下载,其实也慢,但不至于彻底卡掉,依次执行:

wget https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
wget https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
wget https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
wget https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
wget https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml


把下载的文件存放在​​/etc/ros/​​目录下,修改​​20-default.list​​脚本文件,需要超级权限:

yaml file:///etc/ros/osx-homebrew.yaml osx
yaml file:///etc/ros/base.yaml
yaml file:///etc/ros/python.yaml
yaml file:///etc/ros/ruby.yaml
gbpdistro file:///etc/ros/fuerte.yaml fuerte


退出保存后,执行​​rosdep update​​。