rosdep init时website may be down解决方案

7 篇文章 3 订阅

说明

在安装ros的过程中,rosdep init失败是一个非常有名的问题,我们会收到website may be down的提示。

作者来来回回安装了3次ros了,每次都要在rosdep init这一步卡很久,虽然作者并不懂这方面的技术,但还是决定将自己尝试成功的方法记录下来,下面我也会注明方法的来源。

2020/8/26补充:先排除DNS的问题,添加Google的DNS服务器。将下面两行内容添加进/etc/resolv.conf文件。

nameserver 8.8.8.8
nameserver 8.8.4.4

方法一:手机热点

第一次安装ros时,尝试过同步时间和换源,但是都没有解决问题。

stackoverflow上一个叫Xman的用户建议可以将网络切换至手机热点再进行尝试,我将网络从路由器切换至手机热点之后,便解决了这个问题。

但是后面两次安装,这种方法都失效了,所以这是一个不稳定的方法,不过最简单,可以先行尝试,如果解决了就皆大欢喜。

方法二:科学上网

第二次安装ros我用了proxychains代理工具,将流量请求从虚拟机转发到主机,再从主机转发到代理服务器,成功解决了问题。

但后来我才知道原来走代理也不是完美的解决方案,可能会失败。

方法三:手动下载、改nameserver和证书

我曾经一度以为website may be down的根本原因就是无法访问外网,直到我第三次安装ros时,明明已经越过长城,但是还是无法init。

经过一番折腾,我找到了第三种解决方法。方法来自知乎用户liangxiao05和Evan。这种方法的原理就是手动下载网站上的内容,然后通过修改nameserver和证书跳过检查。

首先我们在/etc/ros/rosdep/sources.list.d目录下新建一个名叫20-default.list的文件。终端命令为

mkdir -p /etc/ros/rosdep/sources.list.d
cd /etc/ros/rosdep/sources.list.d
touch 20-default.list

接下来我们将网站上的内容手动复制到20-default.list文件中。文件的内容在下面。

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

终端命令为

sudo nano /etc/ros/rosdep/sources.list.d/20-default.list

接下来我们在/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py文件的最底部插入这两句话

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

修改文件命令同上。

最后我们要修改nameserver,将/etc/resolv.conf原有的nameserver那一行注释掉,并添加以下两行

nameserver 8.8.8.8
nameserver 8.8.4.4

至此我们就把rosdep init的工作手动做完了,我们只需要再进行下一步rosdep update就可以了。

方法四:改host

作者并没有尝试过这种方法!

此方法来自csdn用户 _风起了_ ,因为大家反馈效果似乎不错,就分享给大家,文章链接在参考文献中可以找到。

方法就是在/etc/hosts文件的末尾添加151.101.84.133 raw.githubusercontent.com这样一句话,方法非常简洁。

参考文献

方法一
方法三
方法四

  • 14
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
这个问题可能是由于网络连接问题或者rosdep服务器宕机导致的。你可以尝试以下几个步骤: 1. 检查你的网络连接是否正常,尝试使用ping命令测试rosdep服务器是否可达。如果网络连接不正常,可以尝试重新连接网络或者更换网络环境。 2. 确认rosdep服务器是否宕机,可以尝试在浏览器中访问rosdep服务器的网站,如果无法访问,说明rosdep服务器宕机了。这种情况下你需要等待服务器恢复,或者尝试更换其他可用的rosdep服务器。 3. 如果以上两个方法都无法解决问题,你可以尝试手动配置rosdep的源地址。打开终端,输入以下命令: ``` sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list ``` 这个命令将会打开rosdep的默认源地址配置文件。你可以在该文件中将默认的源地址注释掉,并添加其他可用的源地址,例如: ``` # rosdep default sources.list file # Uncomment the following line to substitute one easy to access repository for the default #yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml yaml https://mirrors.tuna.tsinghua.edu.cn/ros/rosdep/base.yaml ``` 在上面的例子中,我们将默认的源地址注释掉了,并添加了清华大学的源地址。你可以根据自己的需求添加其他可用的源地址。然后保存文件并关闭编辑器。 4. 最后,你可以尝试使用以下命令更新rosdep: ``` sudo rosdep update ``` 这个命令将会更新rosdep的源地址,并重新下载rosdep需要的依赖包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值