rosdep init || rosdep update || 出错?链接失败?换源!

问题简述

本文主要解决rosdep init失败,rosdep update失败的问题。

rosdep init失败和rosdep update失败,最常见的问题就是网络链接失败。有的朋友会说“诶我使用了tz啊”,但是这里的链接失败对time out的要求不低,虽然你使用了“tz”,但是延迟太高的话,依然是连不上的,即使连上了,装依赖也不会快速。

针对这个问题,常见的办法有:

1.  改hosts

2. 使用效果更好的网

3. 调大rosdep的time out,等待相应。

问题的解决:换源

真是空有宝山而不自知,其实清华镜像已经把路铺好了。

熟悉我的人都知道我经常使用清华镜像,在安装ros2的那篇文章中,我也使用清华镜像对ros2进行换源,大大加快了安装包的速度(突然发现好像没有写这一篇,当时觉得安装ros2的教程不少而且很多人都是用的鱼香ros大佬的脚本安装,就没有写),贴个清华镜像安装ros2部分的链接:ros2 | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下面就是关于rosdep换源的部分了。

rosdistro | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 

1 手动实现init

我们通过手动对文件的操作在事实上手动完成了rosdep init这一步,因为rosdep init默认链接的是国外源,没有暴露在外的参数可设置,因此相比之下还是手动操作文件模拟init的过程更加容易。

sudo mkdir -p /etc/ros/rosdep/sources.list.d/
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

如果你观察了rosdep init的报错,就会发现它要生成和操作的也是这样一个文件夹,现在我们代替它做了,就不需要init这一步了。

2 rosdep换源

export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
rosdep update

可以看到,这一步还是有一个rosdistro_index_url的环境变脸,改变了这个环境变量后,update的源就被改变了。为了将这个设为“永久生效”,我们需要写入当前shell的配置文件中。 

echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc

但是需要注意的是,如果你的shell不是bash,而是其他一些常见的shell比如zsh,那你可不要憨憨地不对命令做改动哈!

你可能感兴趣的:(环境和报错处理,机器人,linux,ubuntu)