注意:
ROS跟ubuntu有一一对应的关系,不同版本的ubuntu对应不同版本的ROS,参考网站见下:http://wiki.ros.org/Distributions如果版本不同,下载将会失败,下面我以20.04的ubuntu为例。
会出现的错误集:
1、sudo:rosdep 找不到命令
2、ERROR:cannot download default sources list from:
website may be down
3、The read operation timed out.
4、source ~/.bashrc出现找不到目录
5、.bashrc备份文件问题
流程及出现的问题:
1、网站上有具体的操作步骤。之后再sudo rosdep init
, 会出现sudo:rosdep: 找不到命令
,是因为没有下载rosdep(材料里都没有提及)
解决方案:sudo apt-get install python3-rosdep
。如果输入的是sudo apt-get install rosdep
或sudo apt-get install rosdep
,都是失败的。
2、再次sudo rosdep init,还是会出错,会出现
解决方案:sudo -E rosdep init
参考网站:
https://www.freesion.com/article/8366343083/
https://blog.csdn.net/github_38140310/article/details/79080872
3、再次sudo rosdep init
,成功。接着rosdep update
时会出现:The read operation timed out
的错误。
解决方案:
改用手机热点去下载,预测科学地上网也能解决这个问题。因为这个https://raw.githubusercontent.com是国外的网站,正常是登不进去的,也就是无法连接它的服务器,我在网上还看过两个解决方法,是修改 etc/hosts,在里面添加raw…的ip地址;或者直接在github中下载它的文件包直接导入到本地,再修改url。我试过,这2个方法都没能成功,可能是因为每个电脑和虚拟机的配置不一样,别人能实现的, 在我的虚拟机上无法实现。
参考网站:
https://blog.csdn.net/wowbing2/article/details/105758412/
4、再次rosdep update
,出现成功的画面。
5、按照材料给的操作,echo "source /opt/ros/melodic/setup.bash" >> ~/.bashr
,再source ~/.bashrc
出现找不到目录,我从第一个文件夹开始一个个打开,发现是没有此文件夹,原因我下载的是noetic版本,而材料是melodic版本,在我发现错误后,我修改文件夹操作,发现还是原来的错误。应该是bashr之前写错了保留了上次的输入,我关掉终端再次操作,还是原本的错误。网上寻找方法,用系统中存储的.bashrc备份文件恢复到~/目录下,执行:
cp /etc/skel/.bashrc ~/
其中,/etc/skel是Ubuntu的各种初始配置文件的存放目录。
6、再次操作成功。下一次source ~/.bashrc
,出现下面的错误:
文件 list 第 1 行的记录格式有误 /etc/apt/sources.list.d/ros-latest.list (Component)sudo rm /etc/apt/sources.list.d/ros-latest.list
解决方案:
sudo rm /etc/apt/sources.list.d/ros-latest.list
参考网站:
https://blog.csdn.net/qq_45805535/article/details/107289424
综上,ros终于装好。