上次出了一篇ROS-Noetic安装教程,无论你用的哪个版本的ROS,当然最大的坑,还是rosdep了。接下来我们一点点说我遇到的每一个坑和解决方案。
【系统:Ubuntu 18.04 + Ros-Melodic】
按照教程安装完ROS,接着安装rosdep。问题顺序是按照正常的安装顺序出现问题的顺序撰写。
【问题一】:sudo: rosdep: 找不到命令
sudo rosdep init
XXX:~$ sudo:找不到rosdep命令
【解决方法一】:安装python-rosdep
# python2.7版本
sudo apt-get install python-rosdep
#python3版本以上
sudo apt-get install python3-rosdep
【坑一】:如果看过相关的帖子,是让你安装的是python(3)-rosdep2,我点了确定之后,我就后悔了,因为他帮我把ROS给卸载了。(内心@#¥%&*)
【问题二】 Wesite may be down
【解决方法二】:修改hosts文件
sudo gedit /etc/hosts
在最后一行添加raw.githubusercontent.com的IP地址,例如这样
185.199.109.133 raw.githubusercontent.com
当然这个IP地址,你可以进入这个网站搜索它的IP地址,替换掉就可以了。ip地址
sudo rosdep init
【坑二】:Default sources list file already exists
看英文提示,就是你已经初始化过了,无需操作了。或者你也可以删除文件,再初始化一次。
#删除文件
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
#初始化
sudo rosdep init
【问题三】 rosdep update 失败
看到这堆错误就恶心,但是没办法。
【解决方法三】 添加google域名服务器
#修改配置文件
sudo gedit /etc/resolv.conf
#添加Goole域名服务器
##注释文本中nameserver这一行
##添加以下两行:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
#保存退出
sudo apt-get update && sudo apt-get dist-upgrade
rosdep update
成功,结束操作。
【坑三】 这里的坑最多,首先其实你还是得考虑网络的问题,我们在一开始的时候修改过Hosts的配置文件,添加了网站的ip,后续又修改了配置文件,但是依然是存在不成功的可能性的,建议以上步骤可以多次循环使用,直到成功为止,目前,我装过2个系统的rosdep,最后一步添加完Google域名服务器的时候,都是一次性成功rosdep update的。重点来了.
在你成功rosdep update的时候,记得把配置文件再修改回去。
#修改配置文件
sudo gedit /etc/resolv.conf
#注释Goole域名服务器
##取消注释文本中nameserver这一行
nameserver x.x.x.x.
#nameserver 8.8.8.8 #google域名服务器
#nameserver 8.8.4.4 #google域名服务器
#保存退出