解决 rosdep 无法初始化问题
在执行以下命令时:
sudo rosdep init
rosdep update
会报错:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
这是因为 GitHub 有时候会被国内网络“封锁”,所以采取手动创建的方式进行解决。
在本地新建文件:
sudo mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list
#写入:
# os-specific listings first
yaml https://raw.github.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.github.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.github.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.github.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.github.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
保存文件,打开终端,重新运行如下指令,一般能成功完成 rosdep 初始化:
rosdep update
如果仍旧无法完成初始化,说明 GitHub 的域名无法访问。因此需要在配置文件里更改解析地址。
sudo gedit /etc/hosts
# 方法一:添加一行:
151.101.84.133 raw.githubusercontent.com
# 方法二:或者在此文件中添加更多域名:
访问下载:https://raw.hellogithub.com/hosts
将里面内容复制粘贴到/etc/hosts中保存退出即可
保存文件后退出重试:
rosdep update
如果不行,就等一会再试,添加的这个 hosts 不是很稳定,有时候可以有时候不可以。
如果以上方法不行,那就使用 rosdepc 进行替代,以后把 rosdep 指令换成 rosdepc 即可。
sudo apt-get install python3-pip
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update