sudo rosdep init 和 rosdep update 报错的解决方法(简单有效!)

配置rosdep时总是会出现这样那样的错误,本文只针对sudo rosdep init执行过程中最容易出现报错的情况进行讨论.
毕竟rosdep update 也是在sudo rosdep init 步骤成功后才可以执行.

常见的报错形式:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

这种情况其实不算是网络的问题,果然换了手机热点再执行也没用,只能说网站被墙了.那么要解决被墙,思路就是在host文件中添加网站的ip地址.

方法:

sudo gedit /etc/hosts

打开host文件后,在文件的最末尾添加:

151.101.84.133  raw.githubusercontent.com

保存并关闭文件,再执行sudo rosdep init,可以看到
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

rosdep update
说明这一步成功,接下来执行rosdep update,慢慢等待,最终也成功.问题顺利解决.

### 解决 Ubuntu 上安装 ROS 时 `rosdep init` `rosdep update` 报错方法 当遇到 `rosdep init` 或者 `rosdep update` 命令报错的情况,通常是因为网络连接问题或者是默认的软件源不可达。为了有效解决问题,推荐采用清华大学开源镜像站作为替代方案。 #### 使用清华源配置 ROS 资源列表 对于中国用户来说,由于国际网络访问速度较慢或不稳定,可以考虑更换国内镜像站点来加速资源获取过程并减少错误发生的可能性。具体操作如下: 1. **备份原有 rosdep 配置** 在更改任何设置之前先做好数据保护措施是非常重要的。运行下面这条命令将会把当前所有的 rosdep 数据库保存下来: ```bash sudo mv /etc/ros/rosdep/sources.list.d/50-default.list /etc/ros/rosdep/sources.list.d/50-default.list.bak ``` 2. **创建新的 rosdep 源文件** 接着新建一个名为 `50-shadow-fixed.list` 的文件用于指定清华源地址: ```bash echo "yaml https://mirrors.tuna.tsinghua.edu.cn/ros/yaml/rosdep/base.yaml" | sudo tee /etc/ros/rosdep/sources.list.d/50-shadow-fixed.list ``` 3. **初始化 rosdep 并更新索引** 完成上述步骤之后再次尝试初始化以及刷新依赖关系数据库: ```bash sudo rosdep init rosdep update ``` 如果仍然存在无法解析域名或者其他类型的网络异常,则可能需要进一步排查本地网络环境或者防火墙策略等问题[^1]。 另外一种常见的处理方式是直接编辑 Python 文件中的 URL 地址以绕过某些特定网站被屏蔽所带来的影响。例如,在 `/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py` 中第 310 行附近加入代理前缀 `https://ghproxy.com/` 来替换原始链接的一部分内容[^4]。 需要注意的是,不同版本的操作系统 ROS 发行版可能会有不同的路径名,请根据实际情况调整命令参数。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值