rosdep update遇到The read operation timed out问题
1、问题背景
Ubuntu18.04 安装ROS Melodic。
在安装过程中执行命令:
rosdep update
报错如下:
ERROR: error loading sources list: The read operation timed out
主要原因是国外的服务器访问受限的问题。
2、解决方法
此方法中心思想为更改下载资源,应用ghproxy代理服务,接下来一步一步操作就可以了。
①
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在311行左右,添加这样的代码:
url="https://ghproxy.com/"+url
修改结果如下:
②
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
在69行左右,讲DEFAULT_INDEX_URL的网址进行修改:
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行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
④
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在72行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
⑤
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
在39行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
⑥
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
分别在68行和119行左右,在两个网址前添加:
https://ghproxy.com/
修改结果如下:
⑦
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
在204行左右,添加如下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
修改结果如下:
⑧
运行如下命令:
sudo apt-get update
rosdep update
如果幸运的话,就可以成功update了。