rosdep init/update失败(转载)

sudo rosdep init
rosdep update

如果你直接成功了,可直接跳过当我没说(不过90%的几率你都会失败的啦)

由于http://raw.githubusercontent.com这个网址墙的很厉害,大概率你是成功不了的,这里推荐一种本地化安装的方法

1. 下载rosdistro

git clone https://github.com/ros/rosdistro.git

(如果git都失败了...,可以百度github镜像网站,镜像站下载很方便)

将rosdistro存放在/home/yourname/rosdistro

2. 配置20-default.list文件

运行

sudo rosdep init

重新生成/etc/ros/rosdep/sources.list.d/20-default.list. 没有则手动创建/etc/ros/rosdep/sources.list.d/20-default.list.

如果sudo rosdep init成功,直接跳过以下创建文件步骤

进入到/etc/ros/目录下

cd /etc/ros

创建rosdep文件

sudo mkdir rosdep && cd rosdep

创建sources.list.d文件

sudo mkdir sources.list.d && cd sources.list.d

创建20-default.list文档

sudo gedit 20-default.list

将20-default.list里面内容修改为下面的代码,注意内容/home/zjl修改为自己的记录路径

# os-specific listings first
yaml file:///home/zjl/rosdistro/rosdep/osx-homebrew.yaml osx# generic
yaml file:///home/zjl/rosdistro/rosdep/base.yaml
yaml file:///home/zjl/rosdistro/rosdep/python.yaml
yaml file:///home/zjl/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/zjl/rosdistro/releases/fuerte.yaml fuerte# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

3. 编辑以下文件

/etc/ros/rosdep/sources.list.d/20-default.list/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py/usr/lib/python2.7/dist-packages/rosdep2/rep3.py/usr/lib/python2.7/dist-packages/rosdistro/__init__.py

搜索文件中的 https://raw.githubusercontent.com/ros/rosdistro/master字段,将其替换为file:///home/yourname/rosdistro(后面的部分保持不变,最好备份一下)

例如:

//进行如下修改
#DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
DEFAULT_INDEX_URL = 'file:///home/zjl/rosdistro/index-v4.yaml

注:最好每个文件都确定一下是否只有一个

例如:我的电脑查找

最后发现不止一个 init.py ,这时最好两个都要修改

4. rosdep update

接下来就可以愉快的rosdep update啦

由于是本地安装就不会失败啦

附上成功截图

五 . 添加环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

最后安装个实用插件

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

六 . 测试

运行

roscore

若出现下图,并无报错,就安装好啦

 //

/

这个解决方法是我在群里看到的,近期装了很多次ros都能完美解决,特地转载出来分享给大家,也给自己mark一下。

在安装ROS的过程中,很多同学在执行上述指令时会提示以下错误:

 
  1. ERROR: cannot download default sources list from:

  2. https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

  3. Website may be down.

通常的解决办法是用手机热点

或者查询 

https://raw.githubusercontent.com的实际IP地址,但是也有可能会失效。

偶然的机会看到一教程的解决方案。

博主的思路是新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。成功率是百分百。

整理修改后提供解决ROS rosdep init/update报错的方法(终极版)。

步骤1

进入到 sources.list.d 文件夹(如果没有,则用mkdir指令新建)

修改 gedit 20-default.list

 
  1. cd /etc/ros/rosdep/sources.list.d

  2. sudo gedit 20-default.list

将里面所有的 

raw.githubusercontent.com/ros/rosdistro/master
替换成

gitee.com/wybros/rosdistro/raw/master 

修改前:

 
  1. # os-specific listings first

  2. yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

  3. # generic

  4. yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml

  5. yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml

  6. yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml

  7. gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

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

修改后:

 
  1. # os-specific listings first rosdep update

  2. yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/osx-homebrew.yaml osx

  3. # generic

  4. yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/base.yaml

  5. yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/python.yaml

  6. yaml https://gitee.com/wybros/rosdistro/raw/master/rosdep/ruby.yaml

  7. gbpdistro https://gitee.com/wybros/rosdistro/raw/master/releases/fuerte.yaml fuerte

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

步骤2

进入到 rosdep2 文件夹,

修改 gbpdistro_support.py

 
  1. cd /usr/lib/python2.7/dist-packages/rosdep2/

  2. sudo gedit gbpdistro_support.py

将里面所有的 

raw.githubusercontent.com/ros/rosdistro/master
替换成

gitee.com/wybros/rosdistro/raw/master 

修改后如下

 
  1. FUERTE_GBPDISTRO_URL = 'https://gitee.com/wybros/rosdistro/raw/' \

  2. 'master/releases/fuerte.yaml'

步骤3

进入到 rosdep2 文件夹,

修改 rep3.py

 
  1. cd /usr/lib/python2.7/dist-packages/rosdep2/

  2. sudo gedit rep3.py

将里面所有的 

raw.githubusercontent.com/ros/rosdistro/master
替换成

gitee.com/wybros/rosdistro/raw/master 

修改后如下

REP3_TARGETS_URL = 'https://gitee.com/wybros/rosdistro/raw/master/releases/targets.yaml'

步骤4

进入到 rosdep2 文件夹,

修改 sources_list.py

 
  1. cd /usr/lib/python2.7/dist-packages/rosdep2/

  2. sudo gedit sources_list.py

将里面所有的 

raw.githubusercontent.com/ros/rosdistro/master
替换成

gitee.com/wybros/rosdistro/raw/master 

修改后如下

DEFAULT_SOURCES_LIST_URL = 'https://gitee.com/wybros/rosdistro/raw/master/rosdep/sources.list.d/20-default.list'

步骤5

进入到 rosdistro 文件夹

修改 __init__.py

 
  1. cd /usr/lib/python2.7/dist-packages/rosdistro/

  2. sudo gedit __init__.py

将里面所有的 

raw.githubusercontent.com/ros/rosdistro/master
替换成

gitee.com/wybros/rosdistro/raw/master 

修改后如下

DEFAULT_INDEX_URL = 'https://gitee.com/wybros/rosdistro/raw/master/index-v4.yaml'

最后

打开新终端执行

rosdep update

如果出现如下提示则表示成功!

图片

ATTETION:上边2个方法要都看一下,然后稍微修改一下文件路径,可能要调整一下路径,具体就自己去找到那个文件,然后修改一下路径了。我觉得可能yaml文件和Py文件内路径有调整,注意看就可以解决这个问题。

 为了不每次都这么麻烦来修改,建议自己写一个python脚本来处理这个过程,别人写的脚本当然不如自己写的安全。。。。。。。。。。。。。。。。。。下次再见

还有一个重要的事情:做完上面的修改不要再使用rosdep init,即使用了也不会成功的

但是我们不需要init了,就跳过这一步就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/588442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Leetcode】1154. 一年中的第几天

文章目录 题目思路代码 题目 1154. 一年中的第几天链接 思路 题目要求是给定一个字符串 date,它代表一个日期,采用标准的 YYYY-MM-DD 格式。需要计算这个日期是当年的第几天。 首先,我们可以通过字符串的索引来提取年、月和日的数值&…

二维动态规划问题,python解决最长回文子串

一个算法中的经典问题,求最长回文子串问题,其实是可以归于二维动态规划问题。 对于给定的一个字符串中,找到这个字符串中的回文子串,回文子串的概念是从前往后正向的读和从后往前反向的读都是完全相同的字符串。 对这个问题进行…

el-date-picker周选择器获取选择的日期范围

<el-date-pickerv-model"formData.date"type"week"format"yyyy 第 WW 周"placeholder"选择周"change"weekChange"> </el-date-picker>// 方法一&#xff1a;weekChange(val) {let startTime new Date(val.getT…

猪目标检测数据集VOC格式600张

猪是一种常见的哺乳动物&#xff0c;通常被人们认为是肉食动物&#xff0c;但实际上猪是杂食性动物&#xff0c;以植物性食物为主&#xff0c;也有偶尔食肉的习性。猪的体型较大&#xff0c;圆胖的体型和圆润的脸庞使其显得憨态可掬。它们主要通过嗅觉来感知周围环境&#xff0…

RuntimeError: The NVIDIA driver on your system is too old.

【报错】使用 AutoDL 复现实验时遇到 RuntimeError: The NVIDIA driver on your system is too old (found version 11070). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternativ…

CentOS:docker同一容器间通信

docker同一容器中不同服务以别名访问 1、创建bridge网络 docker network create testnet 2、查看Docker网络 docker network ls 3、运行容器连接到testnet网络 使用方法&#xff1a;docker run -it --name <容器名> —network --network-alias <网络别名> <…

《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(17)

接前一篇文章&#xff1a;《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识&#xff08;16&#xff09; 1.4 PCI总线的中断机制 PCI总线使用INTA#、INTB#、INTC#和INTD#信号向处理器发出中断请求。这些中断请求信号为低电平有效&#xff0c;并与处理器的中…

kivy中的GridLayout

说明 GridLayout 是 Kivy 框架中的一个布局管理器&#xff0c;它允许你在网格中排列子控件。你可以指定网格的行数和列数&#xff0c;然后添加子控件到网格中。GridLayout 会自动调整子控件的位置和大小&#xff0c;以适应网格的单元格。 在 Kivy 框架中&#xff0c;size_hint…

Plantuml之EBNF语法介绍(二十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

多线程编程设计模式(单例,阻塞队列,定时器,线程池)

&#x1f495;"只有首先看到事情的可能性&#xff0c;才会有发生的机会。"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;多线程编程设计模式(单例,阻塞队列,定时器,线程池) 本文主要讲解多线程编程中常用到的设计模式,包括单例模式,阻塞队列,定时…

C语言KR圣经笔记 5.1指针和地址 5.2指针和函数参数

第五章 指针和数组 指针是包含变量地址的变量。在 C 语言中&#xff0c;指针被大量使用&#xff0c;部分原因是有时只能用指针来表达某种计算&#xff0c;而部分原因是相比其他方式&#xff0c;指针通常能带来更紧凑和高效的代码。指针和数组是紧密关联的&#xff1b;本章也讲…

2024年【安全员-B证】考试报名及安全员-B证新版试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-B证考试报名考前必练&#xff01;安全生产模拟考试一点通每个月更新安全员-B证新版试题题目及答案&#xff01;多做几遍&#xff0c;其实通过安全员-B证考试试题很简单。 1、【多选题】《中华人民共和国消防法…

(2023)PanGu-Draw:通过时间解耦训练和可重用的 Coop-Diffusion 推进资源高效的文本到图像合成

PanGu-Draw: Advancing Resource-Efficient Text-to-Image Synthesis with Time-Decoupled Training and Reusable Coop-Diffusion 公众&#xff1a;EDPJ&#xff08;添加 VX&#xff1a;CV_EDPJ 或直接进 Q 交流群&#xff1a;922230617 获取资料&#xff09; 目录 0. 摘要…

【数据结构与算法】字符串匹配(头歌习题)【合集】

目录 第1关&#xff1a;实现朴素的字符串匹配任务描述相关知识编程要求评测说明完整代码 第2关&#xff1a;实现KMP字符串匹配任务描述相关知识编程要求评测说明完整代码 第3关&#xff1a;【模板】KMP算法任务描述相关知识C STL容器string1、string的定义2、string中内容的访问…

16.综合项目实战

一、基础演练&#xff1a; 1、建库、建表 # 创建数据库 create database mysql_exampleTest; use mysql_exampleTest; # 学生表 CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(20) NOT NULL DEFAULT , s_birth VARCHAR(20) NOT NULL DEFAULT , s_sex VARC…

ChatGPT 对SEO的影响

ChatGPT 的兴起是否预示着 SEO 的终结&#xff1f; 一点也不。事实上&#xff0c;如果使用得当&#xff0c;它可以让你的 SEO 工作变得更加容易。 强调“正确使用时”。 你可以使用ChatGPT来帮助进行关键字研究的头脑风暴部分、重新措辞你的内容、生成架构标记等等。 但你不…

MathType 运行时错误‘53’:文件未找到:MathPage.WLL_文件未找到mathpage.wll

问题描述 环境 MathType7.4Microsoft Office 365Windows 11 问题 情景1. Microsoft Word 启动时显示 Please reload Word to load MathType addin properly 情景2. 安装MathType后在 Microsoft Word 中使用复制粘贴时报错 运行时错误‘53’ 情景3. 在 Microsoft Word 中使用 M…

Jenkins 系列:Jenkins 安装(Windows、Mac、Centos)和简介

文章目录 简介发展历史应用场景 Jenkins 安装部署先决条件硬件要求软件包下载war 包部署linux 系统部署mac 系统部署windows 系统部署安装后基本配置解锁自定义 jenkins 插件创建用户配置更新站点 配置文件 简介 Jenkins前身是 Hudson&#xff0c;使用 java 语言开发的自动化发…

mxxWechatBot微信机器人V2使用教程(图文)最全最详细

大家伙&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 先看这里 mxxWechatBot功能列表一、前言二、适用人群三、准备工作四、获取账号五、下载资料 六、安装相关软件七、启动客户端八、注入并启动微信九、机器人的基本配置十、自定义接口开发 …

医学图像分割中的频域多轴表示学习

摘要 https://arxiv.org/pdf/2312.17030v1.pdf 最近&#xff0c;视觉Transformer (ViT)在医学图像分割&#xff08;MIS&#xff09;中得到了广泛应用&#xff0c;这归功于其在空间域应用自注意力机制来建模全局知识。然而&#xff0c;许多研究都侧重于改进空间域模型&#xff…