博主作为一个ros刚入门的新手,之前也安装过ros,ros2但是在Ros安装在进行rosdep update 时运气与网络是成功的关键,在尝试了好多次,运气好一次就成功了,运气不好得不停的试错,再来,最近又搞了一个移动硬盘,给它装ros,又出现了rosdep update的问题,最后找了好多相关文章,参考 leida_wt 的方法,网站https://ghproxy.com/支持github的资源代理,非常好用,我们将用此代理加速rosdep对Github的访问,进而解决rosdep update失败问题。
#这个过程有点复杂,但是实际效果比运气、网络信号来得实在 1.主要方法: 在rosdep的若干个脚本文件中,把 https://ghproxy.com/ 添加到相应URL前面即可。 2.前提条件: 20-default.list里的要是githubusercontent而不是github,请保持文件默认不要修改, 这个文件的位置在
cd /etc/ros/rosdep/sources.list.d
接下来就是重点了,步骤如下: 1.打开计算机-搜索(python2.7带锁的)-----注意会出现两个但我们用的在lib目录下的python2.7 进去之后大概是这样的 进去之后点击dist-packages文件夹。 2.找要添加https://ghproxy.com/的文件 接下来要找的文件都是只读文件,因此修改需要使用
sudo chmod 666 文件名
#文件rosdep2中: (1)sources_list.py 找到72行、311行 即将DEFAULT_INDEX_URL 进行如下替换:
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/............'
也就是将https://ghproxy.com/插入原链接前,请勿复制替换。 (2)gbpdistro_support.py 找到 36行、204行,进行如下替换 (3)rep3.py 39行 #文件rosdistro中 (1)init.py 68行 找到DEFAULT_INDEX_URL 进行如下替换: (2)manifest_provider/github.py 68行 、83 行 、119行 修改以上两个大文件中的5个小文件后,在使用:
rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit file:///etc/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/base.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/python.yaml
Hit file:///etc/ros/rosdistro/master/rosdep/ruby.yaml
Hit file:///etc/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index file:///etc/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Add distro "dashing"
Add distro "eloquent"
Add distro "foxy"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
updated cache in /home/xxxx/.ros/rosdep/sources.cache
问题解决,不需要不停的更换网络,更换源,也方便以后使用。
|