--------------------------------------------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')
以下为亲测过的方法,至少对于本人而言无效:
- 改用手机热点(玄学无用,切勿当真)
- 改hosts文件附加 www.rawgithubusercontent.com 的IP地址(随着墙墙的壮大,能用的IP越来越少了)
- 用 .github 代替 .rawgithub(本质无差)
- 修改 TIMEOUT 值(此法治标不治本。它有点用,但不完全有用,建议还是使用下文的必杀招)
这里为大家写出详细的命令:
- 打开包含资源下载函数的文件:
$ 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 ,发现问题完美解决!