ros2安装时rosdep init和rosdep update报错的问题

--------------------------------------------sudo rosdep init-----------------------------------

(1)翻墙后多试几次

或者:

(2)

安装ROS时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.

解决(以下方法依次执行,一直到搞定:

(1)之前曾经安装过 ROS 系统的某个版本,按照提示删除已经存在的初始化文件即可:

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

(2)ca-certificates问题,证书不对,重新安装证书

sudo apt-get install ca-certificates
(3)系统时间同步问题,需要同步系统时间
sudo apt-get install ntpdate
sudo ntpdate cn.pool.ntp.org
sudo hwclock --systohc
(4)ssl certs问题 
sudo c_rehash /etc/ssl/certs 
sudo -E rosdep init
(5)python-rosdep问题 
sudo apt-get install python-rosdep
(6)如果仍然无效,则直接在/etc目录下添加内容/ros/rosdep/sources.list.d/20-default.list
cd /ros/rosdep/sources.list.d(具体目录要看你的用户名)
sudo gedit 20-default.list
复制 https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list 里面的内容进去,保存,退出,重新执行sudo rosdep init。 


如果上面的连接打不开,或者报错time out,说明你的网络有问题,翻个墙后重复上面的所有步骤。

到这里,应该可以解决了,如果还不行,欢迎留言探讨

--------------------------------------------rosdep update-------------------------------------

在安装ROS时,很多同学都卡在 sudo rosdep init | rosdep update 两步上。主要原因是因为 www.rawgithubusercontent.com 这个网站被墙。

$ 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.

sudo rosdep init 命令通过科学上网可以解决。但对于 rosdep update 命令找遍网上最流行的方法也收效甚微。

$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: error loading sources list:
	('The read operation timed out')

以下为亲测过的方法,至少对于本人而言无效:

  1. 改用手机热点(玄学无用,切勿当真)
  2. 改hosts文件附加 www.rawgithubusercontent.com 的IP地址(随着墙墙的壮大,能用的IP越来越少了)
  3. 用 .github 代替 .rawgithub(本质无差)
  4. 修改 TIMEOUT 值(此法治标不治本。它有点用,但不完全有用,建议还是使用下文的必杀招)

这里为大家写出详细的命令:

  1. 打开包含资源下载函数的文件:
$ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

2. 添加代理:

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

下面是代码修改的位置

3. 修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py文件中的DEFAULT_INDEX_URL

$ sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

4. 修改其余(4个)文件中的地址,在地址 https://raw.githubusercontent.com/... 前添加https://ghproxy.com/

$ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
//修改第36行的地址
$ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 72行
//修改第72行
$ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
//修改第39行
$ sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
//修改第68行、119行

5. 解决 Hit 第五个地址的报错

$ sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 
//在第204行添加如下代码(即在该函数块下的第一行处)
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
//注意,原网址中代理地址的双引号是中文,直接粘贴复制会报字符识别错误

6. 再次运行 rosdep update ,发现问题完美解决!

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答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`工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值