解决安装ROS时出现的sudo rosdep init错误问题
目前安装ROS时输入sudo rosdep init
的命令时,可能会出现以下的错误:
ERROR: cannot download default sources list from:/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
解决办法
第一步,下载包文件:在/ros/rosdistro下载好文件并解压,或者直接用git clone
下载。
第二步,修改包中rosdep/source.list.d/20-default.list
。将该文件中的地址换成自己下载好的文件路径(注意需要加上
file:
)。例如:
# os-specific listings firstyaml file:///home/robot/ros_files/rosdistro/rosdep/osx-homebrew.yaml osx# genericyaml file:home/robot/ros_files/rosdistro/rosdep/base.yamlyaml file:///home/robot/ros_files/rosdistro/rosdep/python.yamlyaml file:///home/robot/ros_files/rosdistro/rosdep/ruby.yamlgbpdistro file:///home/robot/ros_files/rosdistro/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
第三步,修改python文件。
修改/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
中的URL地址,将修改为下载好的文件路径即可。例如:
# default file to download with 'init' command in order to bootstrap# rosdepDEFAULT_SOURCES_LIST_URL = 'file:///home/robot/ros_files/rosdistro/rosdep/sources.list.d/20-default.list'
同理修改/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
为:
# location of targets file for processing gbpdistro filesREP3_TARGETS_URL = 'file:///home/robot/ros_files/rosdistro/releases/targets.yaml'# seconds to wait before aborting download of gbpdistro data
修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py
# index informationDEFAULT_INDEX_URL = file:///home/robot/ros_files/rosdistro/index-v4.yaml'def get_index_url():
注意:如果/usr/lib/python2.7文件夹中没有dist-packages文件夹,可以试着在/usr/lib/python2或者/usr/lib/python3等文件夹中找一下哪个文件夹里面有dist-packages,再修改相应的文件即可。
至此文件都已经修改完毕。可以试试sudo rosdep init
命令能不能成功,如果还是不能成功,请先检查一下自己的文件路径是否正确。祝君成功!
本文主要参考了:一页遮天。感谢前辈的工作。