rosdep init ERROR: cannot download default sources list... 解决方法

这篇具有很好参考价值的文章主要介绍了rosdep init ERROR: cannot download default sources list... 解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

如标题所示,当我们安装好ROS后,想要用rosdep初始化时,会遇到ERROR: cannot download default sources list from https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list 导致rosdep后续的功能都不能用,原因是墙导致https://raw.githubusercontent.com不能访问。

解决方法1-rosdepc

rosdepc是替换rosdep的一款软件,其功能是一模一样的,只不过是为了解决墙的问题,把软件里的地址换成了gitee的国内地址,用法和安装方法和rosdep都是一样的,可以参考古月居的这篇博客。

解决方式2 -修改rosdep软件

通过问题描述我们发现是因为墙的问题导致不能使用rosdep init,所以最简单的方法就是使用scientific internet,这里我尝试了修改系统的httphttps代理,发现还是不能使用rosdep,其根本原因是即使我们设置了代理,但rosdep这款软件也不会走我们设置的代理,因为rosdep本质上是一个python脚本,在运行的时候是执行python程序,并不会走命令行的代理,要想令rosdep走我们的代理,需要我们手动更改rosdep的源代码,然后把我们的代理地址设置一下。但这个稍微有些复杂,改起来还是很困难的。

推荐gitee里这篇博客的方法,这篇博客写了一个脚本rosdep_update.sh可以自动把我们系统里装好的rosdep地址加上代理,这个教程使用的是https://ghproxy.com这个公共的代理,但有可能后面就失效了,我们自己有代理的话可以修改rosdep_update.sh里面的ghproxy_url=https://ghproxy.com这行配置修改成我们自己的代理地址,例如:ghproxy_url=http://127.0.0.1:8081,执行这个脚本后,rosdep软件中的地址就会从我们自己的代理走,经过这样的设计,我们就可以使用rosdep这款软件了。

如果自己没有科学上网的方式,如果https://ghproxy.com这个也不能用的话,我们可以再把rosdep原来的代码恢复,还是刚才这篇博客里提供了一个rosdep_recover.sh工具,是上一个工具的反向操作,恢复rosdep的原状态。

解决方式3-资源下载到本地

这种方式非常不建议,其本质就是在一台可以科学上网的机器上下载好资源,然后放到本地,再修改rosdep代码让rosdep不再从网站上下载资源,这种方法要比前两种方法都复杂,并且需要我们了解哪些文件是干什么的,门槛比较高,相当于需要的对rosdep的源代码有一些基础的认知。所以这种方法非常不推荐。

总结

自己可以科学上网,用方法2,自己不能科学上网,先尝试方法2,不行的话就用方法1,用了方法1,以后记住rosdep统一改名为rosdepc。喜欢折腾的,自己再搜搜方法3,我之前弄过,没啥意义,不建议。文章来源地址https://www.toymoban.com/news/detail-405578.html

到了这里,关于rosdep init ERROR: cannot download default sources list... 解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包