rosdep update报错解决方法

rosdep update报错解决方法

rosdep update,这一步经常会出现Timed Out或者Error的报错,查询过网上的很多资料要么说*用外网(有一说一这个的确快),要么用别的方法,比如加入nameserver 8.8.8.8之类的,不过效果一般;

我在网上查阅了很多资料总结了一个自己的解决方案现在分享给大家:

1 DOWNLOAD_TIMEOUT延长

rosdep update这一步主要运行的是/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py.bak文件,它只要报错一次我们就需要重头再来,对这个文件进行改写,文件中有一个DOWNLOAD_TIMEOUT=15.0,它的意思就是我们在运行rosdep update如果超过15秒没反应就终止了。

那么我们可以将时间延长些,比如改成60.0之类的。

2 Retry

当然,DOWNLOAD_TIMEOUT改成300也有可能不成功,甚至会出现Error等错误,这也是最不人性化的一步,一次报错没有再来的机会直接终止,这里同样可以进行改写,我们设置Retry=20,意思就是报错一次没关系,我们可以在报错的这一步重新拉取,最多20次,如果还不行那就是人品的问题(手动滑稽).

在github上有大佬对sources_list.py这个文件改写过了,这里贴上链接:
https://github.com/HILMR/rosdep_fix/blob/main/sources_list.py

将文件下载然后替换掉/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py即可;

sudo cp /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py sources_list.py.bak #备份
sudo cp sources_list.py /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py #写入新文件

不过这一步可能会报错cache_tools,运行下述命令即可:

pip install cachetools
上一篇:安装源配置文件“/etc/apt/sources.list”第 59 行有错误(发行版解析)


下一篇:docker容器内安装vim