我使用的Stretch版本系统,因此需要先安装dirmngr库
apt-get install dirmngr
设置软件源:
sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
设置安装秘钥:
apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
这一步是告诉系统刚刚设置的软件源可靠,这样接下来从源里下载的文件会被保留
更新Debian库:
apt-get update
apt-get upgrade
安装引导依赖项:
apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
初始化rosdep:
rosdep init
rosdep update
这一步是我遇到了一些问题,无论是init还是update时候都出现网络连接失败,如图:
这是因为rosdep init和rosdep update都需要访问github,而国内访问github很不稳定。理论上来说只要反复尝试就可以成功,不过有更简单的办法。
网站https://ghproxy.com/支持github的资源代理。因此,只需要在rosdep脚本里所有原网站URL前添加 https://ghproxy.com/ 即可
修改文件如下:
1 进入文件/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在download_rosdep_data()函数中添加:
url=“https://ghproxy.com/”+url
注:vim里显示行号 :set nu
2 在以下文件中找到raw.githubusercontent.com,并在前面添加“https://ghproxy.com/
/usr/lib/python2.7/dist-packages/rosdistro/init.py 69行
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 36行
/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py 39行
/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 68行 119行
(第一个应该是_ _ init _ _,__放在一起在markdown里识别为加粗)
示例,在第一个文件里修改DEFAULT_INDEX_URL
DEFAULT_INDEX_URL = ‘https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’
3 在 /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 的第204行添加如下代码:
gbpdistro_url = “https://ghproxy.com/” + gbpdistro_url
现在再尝试rosdep init,rosdep update就可以成功
参考文章:
https://blog.csdn.net/qq_22945165/article/details/101725738
https://blog.csdn.net/Kenny_GuanHua/article/details/116845781



