注:以下目录中的zf是博主机器名,记得需要改成自己的哦,比如 你叫张三、狗四、龙五,手动狗头
第一步、 sudo rosdep init命令失败解决方案
其实sudo rosdep init命令就是新建了一个目录和一个文件,即/etc/ros/rosdep/sources.list.d/20-default.list,如果你失败的话,可以手动创建,就不需要执行该命令了,手动创建命令如下:
cd /etc
sudo mkdir -p ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
sudo touch 20-default.list
第二步、 rosdep update命令失败解决方案
1)git clone https://github.com/ros/rosdistro.git 到本地,记住这个rosdistro目录的路径,比如我git clone 到了路径 /home/zf/ros,对应命令:
mkdir -p ~/ros
cd ~/ros
git clone https://github.com/ros/rosdistro.git
2)查找 文件/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 中的raw.githubusercontent.com,将 https://raw.githubusercontent.com/ros/rosdistro/master 替换成 file://+第1步中的路径,比如我的是:将 原来文件中的 REP3_TARGETS_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml’ 替换成 REP3_TARGETS_URL = ‘file:///home/zf/ros/rosdistro/releases/targets.yaml’
3)同第2步,查找文件/usr/lib/python2.7/dist-packages/rosdistro/init.py中的raw.githubusercontent.com,将 https://raw.githubusercontent.com/ros/rosdistro/master 替换成 file://+第1步中的路径,比如我的是:将 原来文件中的 DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’替换成 DEFAULT_INDEX_URL = ‘file:///home/zf/ros/rosdistro/index-v4.yaml’
4)把下面的内容粘贴到第一步生成的/etc/ros/rosdep/sources.list.d/20-default.list文件中:
#os-specific listings first
yaml file:///home/zf/ros/rosdistro/rosdep/osx-homebrew.yaml osx
#generic
yaml file:///home/zf/ros/rosdistro/rosdep/base.yaml
yaml file:///home/zf/ros/rosdistro/rosdep/python.yaml
yaml file:///home/zf/ros/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/zf/ros/rosdistro/releases/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
对应命令:
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
将以上内容粘贴进去后,文件路径就是你第一步git下载时得保存路径,右上角点击保存,左上角点击关闭文件
5)命令行输入:rosdep update