rosdep update失败的解决办法
背景
我在执行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
。