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
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112122436729-1063500807.png)
②
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'
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112122727560-1534689606.png)
③
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
在36行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-202111121229```16239-1781101652.png)
④
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在72行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112123008250-1319257788.png)
⑤
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
在39行左右,在网址前添加:
https://ghproxy.com/
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112123104596-1121306357.png)
⑥
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
分别在68行和119行左右,在两个网址前添加:
https://ghproxy.com/
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112123250088-1600640238.png)
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112123315048-747109861.png)
⑦
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
在204行左右,添加如下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
修改结果如下:
![](https://img2020.cnblogs.com/blog/2039513/202111/2039513-20211112123539564-1820864797.png)
⑧
运行如下命令:
sudo apt-get update
rosdep update
如果幸运的话,就可以成功update了。