一定能解决ROS系统 rosdep update超时问题de简单方法

rosdep update命令使用

该方法是可以跳过sudo rosdep init初始化命令设置的,前提是安装ros:(https://blog.csdn.net/weixin_44023934/article/details/127510378,rosdep update是安装一些依赖库,比如在Cartographer、ORB-SLAM等算法需要使用到一些依赖库,是必须安装的,如果不是有需要的,只是使用ros一般依赖,是不需要rosdep update的


注意

本方案在18.04和16.04测试都没问题。20.04Ubuntu版本可能需要对路径的python2.7改成python3.0,但 20.04 ros 安装 用国内资源安装更快,包括ros一起安装:链接点击

1、下载链接文件

1.1首先将下面仓库的内容clone到本地

方法一:

csdn资源直接下载rosdistro,解压到home目录

方法二(推荐):

//跳到home目录

cd 

//下载文件

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

需要记得将下载包名字rosdistro-master。。。。改称rosdistro

方法三:

如果git clone 速度较慢,可以直接拷贝https://github.com/ros/rosdistro.git到网页下载,速度提高,

1.2 将rosdistro文件拷贝到etc/ros/目录下

(1)、如果文件为rosdistro-master,需要记得将下载包名字rosdistro-master改称rosdistro

//跳到rosdistro文件目录下
cd
//拷贝文件
sudo cp -r rosdistro /etc/ros/

2、修改系统文件

2.1 修改/usr/lib/python2.7/dist-packages/rosdep2/rep3.py文件

cd /usr/lib/python2.7/dist-packages/rosdep2 
sudo gedit rep3.py

注意:如果进去不到rosdep2文件夹,直接在usr文件夹下搜索rep3.py。就能查找到对应的路径,以下方法同样。
将REP3_TARGETS_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml’ 替换成 REP3_TARGETS_URL = 'file:///etc/ros/rosdistro/releases/targets.yaml'

2.2 修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py文件

cd /usr/lib/python2.7/dist-packages/rosdistro
sudo gedit __init__.py

将原来文件中的 DEFAULT_INDEX_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’ 替换成 DEFAULT_INDEX_URL = 'file:///etc/ros/rosdistro/index-v4.yaml'

3、配置20-default.list文件

如果者查看/etc/ros/rosdep/sources.list.d路径已经有20-default.list文件(之前已经运行过sudo rosdep init的原因),就直接跳过3.1步奏,运行3.2步奏,---------------------======

3.1、创建文件夹sources.list.d,并生成20-default.list 文件

 sudo mkdir -p /etc/ros/rosdep/sources.list.d  

生成20-default.list

cd /etc/ros/rosdep/sources.list.d  
sudo touch 20-default.list 
到这里已经生成/etc/ros/rosdep/sources.list.d/20-default.list文件-------------------======

3.2、打开20-default.list文件,将里面内容修改为下面的代码

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

内容改成:

# os-specific listings first
yaml file:///etc/ros/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///etc/ros/rosdistro/rosdep/base.yaml
yaml file:///etc/ros/rosdistro/rosdep/python.yaml
yaml file:///etc/ros/rosdistro/rosdep/ruby.yaml
yaml file:///etc/ros/rosdistro/releases/fuerte.yaml

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

注意的是yaml file://表示固定格式/etc/ros..表示文件目录,所以是yaml file:///

4、最后直接

rosdep update

出错注意:

一:

网络不需要代理,用代理而没有代理专属的ip(翻墙),反而不能下载(比如结果出现(https://ghproxy.com/file);
方法:在网络设置,关闭代理,或搜索linux关闭代理方法

二:出错率极高

文件路径或者文件名错误,代码出现**ERROR: unable to process source[file:///etc/ros/rosdistro/rosdep....]No such file or directory**等文字
解决方法:把下载的文件copy一下,然后粘贴到终端就可以对比你文件存放的路径和文件名称是否和反馈搜索不到的路径和文件名称,参考反馈的路径修改文件存放路径。

  • 193
    点赞
  • 659
    收藏
    觉得还不错? 一键收藏
  • 321
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值