rosdep update命令使用
该方法是可以跳过sudo rosdep init初始化命令设置的,前提是安装完ros,rosdep update是安装一些依赖库,比如在Cartographer、ORB-SLAM等算法需要使用到一些依赖库,是必须安装的,如果不是有需要的,只是使用ros一般依赖,是不需要rosdep update的
重点重复说明:(因为大家错的较多)
记录rosdistro存放地址,例如/home/LiFeiHong/rosdistro
,自己的改成/home/你用户名/rosdistro
,下面都是按照这样改,你最后报错如果出现LiFeiHong,说明你路径错了
1.首先将下面仓库的内容clone到本地
git clone https://github.com/ros/rosdistro.git
如果git clone 速度较慢,可以直接拷贝https://github.com/ros/rosdistro.git到网页下载,速度提高
记录rosdistro存放地址,例如/home/LiFeiHong/rosdistro
如果是自己的改成/home/user/rosdistro
,其中user
表示用户名,下面都是按照这样改
2.修改/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
文件
cd /usr/lib/python2.7/dist-packages/rosdep2
sudo gedit rep3.py
注意:如果进去不到rosdep2文件夹,直接在usr文件夹下搜索rep3.py。就能查找到对应的路径,以下方法同样。
将REP3_TARGETS_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml’ 替换成 REP3_TARGETS_URL = 'file:///home/LiFeiHong/rosdistro/releases/targets.yaml'
替换后的/home/LiFeiHong 即为第一步clone内容的存放地址
3.修改/usr/lib/python2.7/dist-packages/rosdistro/__init__.py
文件
cd /usr/lib/python2.7/dist-packages/rosdistro
sudo gedit __init__.py
将原来文件中的 DEFAULT_INDEX_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’ 替换成 DEFAULT_INDEX_URL = 'file:///home/LiFeiHong/rosdistro/index-v4.yaml'
替换后的/home/LiFeiHong 即为第一步clone内容的存放地址
4.配置20-default.list
文件
如果者查看/etc/ros/rosdep/sources.list.d路径已经有20-default.list文件(之前已经运行过sudo rosdep init的原因),就直接跳过4.1
步奏,运行4.2步奏,---------------------======
4.1
、创建文件夹sources.list.d,并生成20-default.list 文件
sudo mkdir -p /etc/ros/rosdep/sources.list.d
生成20-default.list
cd /etc/ros/rosdep/sources.list.d
sudo touch 20-default.list
到这里已经生成/etc/ros/rosdep/sources.list.d/20-default.list文件-------------------======
4.2、打开20-default.list文件,将里面内容修改为下面的代码,注意内容/home/LiFeiHong修改为自己的记录路径
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
内容改成:
# os-specific listings first
yaml file:///home/LiFeiHong/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/LiFeiHong/rosdistro/rosdep/base.yaml
yaml file:///home/LiFeiHong/rosdistro/rosdep/python.yaml
yaml file:///home/LiFeiHong/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/LiFeiHong/rosdistro/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
注意的是yaml file://
表示固定格式/home...
表示文件目录,所以是yaml file:///
5.最后直接
rosdep update
转载自CSDN-专业IT技术社区
版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44023934/article/details/121242176