安装ros的的时候执行到命令
sudo rosdep init
非常容易报错,网上主要的解决方法有:
1.连手机热点
2.更改文件hosts
3.用梯子
但以上方法均不稳定,本方法主要原理是,rosdep init本质上是下载了一个包含几个链接的文档,并保存在特定路径下。因为长城或者别的缘故,很容易下载失败。
将下面文件中的 _20-default.list_ 文件复制到 _/etc/ros/rosdep/sources.list.d/_路径下,大概率是没有路径的,需要逐级创建。
链接:https://pan.baidu.com/s/1QgeFeW6SrLEa4P7s0uePbg
提取码:init
解压后的压缩包中右键打开终端,命令
sudo cp ./20-default.list /etc/ros/rosdep/sources.list.d
这样等于手动完成了sudo rosdep init 这句代码
下面是rosdep update
这句代码本质是通过20-default.list中的几个链接下载并配置一些文件,和上面原因一样,容易下载失败。所以我们提前下载好,然后更改配置文件路径,就可以实现相同功能。
将文件中的 _rosdistro-master/_文件夹 复制到到_/etc/ros/rosdep/sources.list.d/_路径下
解压后的压缩包中右键打开终端,命令
sudo cp -r ./rosdistro-master/ /etc/ros/rosdep/sources.list.d
之后修改配置文件路径
打开文件sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
修改DEFAULT_SOURCES_LIST_URL
DEFAULT_SOURCES_LIST_URL = 'file:/etc/ros/rosdep/sources.list.d/20-default.list'
第二个同理,打开文件rep.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
修改REP3_TARGETS_URL
REP3_TARGETS_URL = 'file:/etc/ros/rosdep/sources.list.d/rosdistro-master/releases/targets.yaml'
第三个同理,打开文件__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
修改DEFAULT_INDEX_URL
DEFAULT_INDEX_URL = 'file:/etc/ros/rosdep/sources.list.d/rosdistro-master/index-v4.yaml'
回到桌面打开终端(Ctrl+Alt+T)
rosdep update
大功告成!
祝各位ROS安装愉快!