目录&索引
前言
本文主要解决安装过程中的 rosdep update
报错超时问题,附上 ubuntu20.04 安装 ROS Noetic 详细过程。
该报错的解决方案,适用其他版本。
解决方案
1. 修改 /etc/hosts 文件
原理
hosts 文件是 Linux 系统上一个负责 ip 地址与域名快速解析的文件,以 ascii 格式保存在 /etc/ 目录下。hosts 文件包含了 ip 地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的 ip 地址,否则就需要使用 dns 服务程序来解决。通过可以将常用的域名和 ip 地址映射加入到 hosts 文件中,实现快速方便的访问。
优先级:dns 缓存 > hosts > dns 服务
链接:win10/linux 双系统 完美解决 github 访问速度慢
linux 操作系统,终端输入 sudo vim /etc/hosts
,修改配置文件。注意——IP 与域名的对应关系需要查询,上文链接,附查询方法。
2. GitHub Proxy 代理加速
这个方法的起因和安装 ROS 软件时,利用镜像源的原理类似,如将 ROS 软件镜像源替换成清华源,以及日常的 apt 库替换成清华源。
利用 GitHub Proxy 代理,实现的是不直接访问 GitHub,故不直接访问 GitHub 下载资源,而是通过代理间接访问。
2.1 修改 sources_list.py 文件
sudo vim /usr/lib/python3/dist-packages/rosdep2/sources_list.py
添加内容如下,见下图:
url="https://ghproxy.com/"+url # 新添加
2.2 修改 init.py 文件
sudo vim /usr/lib/python3/dist-packages/rosdistro/__init__.py
添加内容如下,并注释被替换内容,见下图:
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
3. rosdep update 成功
在终端输入 rosdep update
4. 补充
除此处外,下述文件中也含有 github 地址,分别是:
/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py 36 行
/usr/lib/python3/dist-packages/rosdep2/sources_list.py 72 行
/usr/lib/python3/dist-packages/rosdep2/rep3.py 39 行
/usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py 68 行 119 行
总结
该报错的解决方案,适用其他版本。
任何相关报错 ERROR 或者警告 WARNING,都是关键提示。