ROS源及其rosdep init update问题报错解决方法

ROS源更换

1.ubuntu16.04


清华源

sudo sh -c 'echo "https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ xenial main" > /etc/apt/sources.list.d/ros-latest.list'

然后再输入如下命令,信任ROS的GPG Key,并更新索引:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

2.ubuntu18.04

清华源

sudo sh -c 'echo "https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ bionic main" > /etc/apt/sources.list.d/ros-latest.list'

然后再输入如下命令,信任ROS的GPG Key,并更新索引:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

关于ROS init时报错

错误1:找不到命令

解决办法尝试安装

sudo apt install python-rosdep2
# 或者
sudo apt install python3-rosdep2

错误:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.

解决办法:

  1. sudo gedit /etc/hosts
  2. 打开的hosts文件中添加如下的内容,然后保存退出
199.232.28.133 raw.githubusercontent.com

错误:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize

解决办法:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

上述解决办法执行后,再次执行init

参考

Ubuntu 更换国内源
ROS安装

ROS update出错

出错的问题基本都是因为文件下载的网址失败,所以最简单粗暴的方法:直接翻出去,然后在执行。下面的方法也可以但是较为繁琐

更改下载链接

执行rosdep update后报错如下:
在这里插入图片描述

在尝试了各种方法失败后,利用下面方法成功解决
此方法就是给所有找不到的网址前面加上https://ghproxy.com/,打开如下几个文件进行添加(ubuntu16.04和18.04都试过了可以解决问题,20版本应该也可以)

--------------------------------------------------
----------------------开始----------------------
--------------编辑第一个文件---------------
--------------------------------------------------
终端中执行

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

第一步:在第311行添加新一行:

url="https://ghproxy.com/"+url

添加后如图所示:(使用tab键缩进使其和下面的 if 对齐)
在这里插入图片描述

先别退出

接着进行第二步:把第72行的 DEFAULT_SOURCES_LIST_URL = 后面的内容替换为:

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

保存退出
--------------------------------------------------
--------------编辑第二个文件---------------
--------------------------------------------------
终端中执行

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

把第68行的DEFAULT_INDEX_URL = 后面的内容替换为:

'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

保存退出
--------------------------------------------------
--------------编辑第三个文件---------------
--------------------------------------------------
终端中执行

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

把第36行的FUERTE_GBPDISTRO_URL = 后面的内容替换为:

'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \
    'master/releases/fuerte.yaml'

并在204行添加新行:

gbpdistro_url = 'https://ghproxy.com/' + gbpdistro_url

(注意缩进对其)修改后如下:
在这里插入图片描述
保存退出

--------------------------------------------------
--------------编辑第四个文件---------------
--------------------------------------------------
终端中执行

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

把第39行的 REP3_TARGETS_URL = 后面的内容替换为:

'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'

保存退出

--------------------------------------------------
--------------编辑第五个文件---------------
--------------------------------------------------
终端中执行

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py

第一步:把第68行的 url = 后面的一整行内容替换为:

'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/package.xml' % (path, release_tag)

修改后如图所示:
在这里插入图片描述

先别退出
接着进行第二步:把第119行的 url = 后面的’https://raw.githubusercontent.com/%s/%s/%s’替换为:

'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s'

修改后如图所示:(注意后面的 % \ )
在这里插入图片描述
保存退出

--------------------------------------------------
--------------编辑完之后---------------
--------------------------------------------------
终端中再次执行:

rosdep update

只要前面每个文件都改好,过程没有误改其他内容,即可成功,成功界面如下:
在这里插入图片描述

参考

Update解决方法转自 https://blog.csdn.net/mmeeed/article/details/120117909,如有侵权,请联系删除。

### 回答1: 在Ubuntu 16.04上使用ROS时,执行"rosdep init"命令时可能会遇到报错。这个问题通常是由于网络连接问题导致的。要解决这个问题,可以按照以下步骤进行操作: 1. 首先,确保您的网络连接是正常的,可以尝试更换网络连接方式(例如使用有线连接代替无线连接)并重试命令。 2. 如果更换网络连接方式仍然无法解决问题,可以尝试使用以下命令来更新ROS的依赖项: ``` sudo apt-get update sudo apt-get install python-rosdep ``` 3. 如果上述步骤仍然无法解决问题,可以尝试手动初始化rosdep。首先,通过以下命令创建一个rospkg目录: ``` sudo mkdir /etc/ros/rosdep/sources.list.d ``` 4. 然后,使用以下命令创建一个rosdep列表文件: ``` sudo sh -c 'echo "yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml" > /etc/ros/rosdep/sources.list.d/20-default.list' ``` 5. 最后,执行以下命令来初始化rosdep: ``` rosdep init ``` 通过执行上述步骤,您应该能够成功初始化rosdep,并继续使用ROS。希望这些信息对您有所帮助! ### 回答2: 当使用`ubuntu 16.04`系统上的`rosdep init`命令时,可能会遇到报错。这个错误通常是由于`rosdep`工具中的文件问题引起的。 要解决这个问题,可以按照以下步骤进行操作: 1. 打开终端,输入以下命令来编辑`rosdep`文件: ``` sudo nano /etc/ros/rosdep/sources.list.d/20-default.list ``` 2. 在打开的文件中,你会看到一些URL链接。这些链接是`rosdep`工具用来下载依赖关系的文件。 3. 将所有的URL链接注释掉,或者将它们删除。你可以在前面添加一个井号(#)来注释掉链接。 4. 在文件的末尾,添加以下文件链接: ``` yaml http://packages.ros.org/ros/rosdep/ubuntu.yaml ``` 5. 保存文件并退出编辑器。 6. 运行以下命令来更新`rosdep`工具的文件: ``` sudo rosdep update ``` 7. 现在你可以尝试再次运行`rosdep init`命令,应该不会再出现错误。 这些步骤将修复`ubuntu 16.04`系统上`rosdep init`命令的报错问题,并正确初始化`rosdep`工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值