项目场景:
首先介绍一下这两个命令的目的:sudo rosdep init的目的是为了在/etc目录下新建/ros/rosdep/sources.list.d/20-default.list文件。
rosdep update 的目的是在/etc/ros/rosdep/source.list.d下放5个文件,分别是base.yaml,gentoo.yaml,osx-homebrew.yaml,python.yaml,ruby.yaml.
问题描述:
## sudo rosdep init 和 rosdep update错误(ROS Melodic Ubuntu18.04) 常见报错信息: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.
原因分析:
原因: 由于raw.githubusercontent.com被墙,程序无法下载相应的文件。解决方法就是使raw.githubusercontent.com能够被正常访问。这个网站被墙的方式是dns污染,所以我们只要能够找到这个网站的正确ip就可以了 。
解决方案:
1.打开hosts文件
sudo gedit /etc/hosts
- ping一下这个网址,看看是否能ping通
ping raw.githubusercontent.com
Tip:如果https://raw.githubusercontent.com网址的IP改变了了,就到这个网址:ipaddress查看,查询:http://raw.githubusercontent.com正确的ip,然后在 /etc/hosts 文件末尾添加对应的ip + url
- 在hosts文件中添加以下内容
185.199.108.133 raw.githubusercontent.com
#打开终端,执行如下指令:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
#然后再分别执行如下语句即可。
sudo rosdep init
rosdep update