ROS源更换
1.ubuntu16.04
清华源
sudo sh -c 'echo "https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ xenial main" > /etc/apt/sources.list.d/ros-latest.list'
然后再输入如下命令,信任ROS的GPG Key,并更新索引:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
2.ubuntu18.04
清华源
sudo sh -c 'echo "https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ bionic main" > /etc/apt/sources.list.d/ros-latest.list'
然后再输入如下命令,信任ROS的GPG Key,并更新索引:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
关于ROS init时报错
错误1:找不到命令
解决办法尝试安装
sudo apt install python-rosdep2
# 或者
sudo apt install python3-rosdep2
错误:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
解决办法:
sudo gedit /etc/hosts
- 打开的hosts文件中添加如下的内容,然后保存退出
199.232.28.133 raw.githubusercontent.com
错误:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
解决办法:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
上述解决办法执行后,再次执行init
参考
ROS update出错
出错的问题基本都是因为文件下载的网址失败,所以最简单粗暴的方法:直接翻出去,然后在执行。下面的方法也可以但是较为繁琐
更改下载链接
执行rosdep update后报错如下:
在尝试了各种方法失败后,利用下面方法成功解决
此方法就是给所有找不到的网址前面加上https://ghproxy.com/,打开如下几个文件进行添加(ubuntu16.04和18.04都试过了可以解决问题,20版本应该也可以)
--------------------------------------------------
----------------------开始----------------------
--------------编辑第一个文件---------------
--------------------------------------------------
终端中执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
第一步:在第311行添加新一行:
url="https://ghproxy.com/"+url
添加后如图所示:(使用tab键缩进使其和下面的 if 对齐)
先别退出
接着进行第二步:把第72行的 DEFAULT_SOURCES_LIST_URL = 后面的内容替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'
保存退出
--------------------------------------------------
--------------编辑第二个文件---------------
--------------------------------------------------
终端中执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
把第68行的DEFAULT_INDEX_URL = 后面的内容替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
保存退出
--------------------------------------------------
--------------编辑第三个文件---------------
--------------------------------------------------
终端中执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
把第36行的FUERTE_GBPDISTRO_URL = 后面的内容替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \
'master/releases/fuerte.yaml'
并在204行添加新行:
gbpdistro_url = 'https://ghproxy.com/' + gbpdistro_url
(注意缩进对其)修改后如下:
保存退出
--------------------------------------------------
--------------编辑第四个文件---------------
--------------------------------------------------
终端中执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
把第39行的 REP3_TARGETS_URL = 后面的内容替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'
保存退出
--------------------------------------------------
--------------编辑第五个文件---------------
--------------------------------------------------
终端中执行
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
第一步:把第68行的 url = 后面的一整行内容替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/package.xml' % (path, release_tag)
修改后如图所示:
先别退出
接着进行第二步:把第119行的 url = 后面的’https://raw.githubusercontent.com/%s/%s/%s’替换为:
'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s'
修改后如图所示:(注意后面的 % \ )
保存退出
--------------------------------------------------
--------------编辑完之后---------------
--------------------------------------------------
终端中再次执行:
rosdep update
只要前面每个文件都改好,过程没有误改其他内容,即可成功,成功界面如下:
参考
Update解决方法转自 https://blog.csdn.net/mmeeed/article/details/120117909,如有侵权,请联系删除。