当前位置: 首页 > news >正文

拉取ros2_control_demos存储库

目录

克隆存储库

方法 1: 使用 git clone 和 rosdep 安装依赖

方法 2: 使用 vcs 工具管理多个存储库

区别总结

rosdep 和 APT 的关系

网络问题

安装依赖

克隆存储库

方法 1: 使用 git clonerosdep 安装依赖

  1. 下载存储库

    mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src git clone https://github.com/ros-controls/ros2_control_demos -b humble

    这个命令克隆了 ros2_control_demos 存储库的 humble 分支到你的工作空间 src 目录中。-b humble 指定了你要克隆的分支(适用于 ROS 2 Humble 版本)。

  2. 更新 rosdep

    cd ~/ros2_ws/ rosdep update --rosdistro=$ROS_DISTRO

    这会更新 rosdep 数据库,以确保获取到最新的依赖项信息。

  3. 安装系统包

    sudo apt-get update

    更新系统包列表,以确保你的系统可以找到并安装最新的软件包。

  4. 安装 ROS 依赖

    sudo rosdep install --from-paths ./ -i -y --rosdistro ${ROS_DISTRO}

    使用 rosdep 安装 ROS 2 软件包依赖。-i 选项表示忽略未找到的包,-y 选项表示自动确认安装。

方法 2: 使用 vcs 工具管理多个存储库

  1. 下载所有存储库

    mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src git clone https://github.com/ros-controls/ros2_control_demos

    这条命令克隆了 ros2_control_demos 存储库的默认分支(通常是主分支)。

  2. 使用 vcs 导入所有依赖的存储库

    cd ~/ros2_ws/ vcs import src < src/ros2_control_demos/ros2_control_demos.$ROS_DISTRO.repos

    vcs 工具用于从 .repos 文件中导入多个存储库的元数据。这个 .repos 文件通常包含了一系列其他依赖包的信息,这样可以同时克隆多个相关的存储库。

  3. 更新 rosdep

    rosdep update --rosdistro=$ROS_DISTRO

    更新 rosdep 数据库。

  4. 安装系统包

    sudo apt-get update

    更新系统包列表。

  5. 安装 ROS 依赖

    rosdep install --from-paths src --ignore-src -r -y

    这里的 --ignore-src 表示忽略源代码包本身的依赖,只安装其他依赖。-r 表示递归安装依赖。

区别总结

  • git clone + rosdep 方法

    • 适用于你只需要构建和安装单一软件包的情况。
    • 你需要手动克隆所需的每一个软件包。
    • 依赖的管理较为直接,但需要对每个包手动处理。
  • vcs 工具方法

    • 适用于需要处理多个相关软件包的情况,因为 .repos 文件中通常定义了多个存储库的相关信息。
    • 可以自动克隆和管理多个依赖的包,这对于大型项目尤其有用。
    • 依赖管理更全面和系统化。

        如果你只关注单个包,第一种方法可能更简单直接。如果你在处理多个相关的包,第二种方法将更为高效。

        在使用 rosdep 来安装 ROS 2 的依赖包之前,运行 sudo apt-get update 是一个重要步骤。这是因为 rosdep 和 APT(Advanced Package Tool)之间有一定的关联,特别是在安装系统级依赖项时。以下是为什么需要运行 sudo apt-get update 的详细解释:

  1. 更新软件包列表sudo apt-get update 命令会从你系统中的软件源(即 APT 仓库)下载最新的软件包索引信息。它更新了本地缓存,以确保你获取到最新的可用软件包和版本信息。软件包索引是 APT 查找和下载软件包时使用的数据库。

  2. 确保获取最新的软件包: 在运行 rosdep install 之前,sudo apt-get update 确保你的系统的软件包索引是最新的。这样,当 rosdep 需要安装某些系统级依赖时,它能够正确地找到这些依赖包的最新版本。

rosdep 和 APT 的关系

  • rosdep 安装的依赖rosdep 会根据 ROS 代码中声明的依赖关系来自动安装系统级的依赖项。它会查找和安装在你的系统包管理器(如 APT)中列出的软件包。

  • APT 的软件源: APT 使用的软件源列表位于 /etc/apt/sources.list/etc/apt/sources.list.d/ 中。sudo apt-get update 会从这些源中下载最新的包列表,并更新本地缓存。

网络问题

        尝试关闭代理,重新启动代理,等待一段时间后git clone

git config --global --unset http.proxy
git config --global --unset https.proxy

安装依赖

        ros2_control_demos存储库,从debian安装包安装 配置依赖显示需要ignition相关的ga_ros2_control包,之后选择的源安装中的依赖安装指令(非sudo)成功了,原因待定。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 单链表的查找与长度计算
  • Pandas中Series()函数的用法
  • 算力服务器和GPU服务器的区别是什么?
  • Android 测试手册
  • OpenCV结构分析与形状描述符(23)确定一个点是否位于多边形内的函数pointPolygonTest()的使用
  • Oracle数据库中的Oracle Label Security是什么
  • 好用的视频压缩工具有哪些?这4款千万不要错过
  • 15.4 prometheus使用的ClusterRole等RBAC对象
  • 算法练习题24——查找杨辉三角中的组合数
  • 另类动态规划
  • dplyr、tidyverse和ggplot2初探
  • CX_SY_RANGE_OUT_OF_BOUNDS
  • 外包干了三年,快要废了。。。
  • jQuery UI API 文档
  • RISC-V交叉编译器下载
  • 【译】理解JavaScript:new 关键字
  • exif信息对照
  • Git初体验
  • JavaScript新鲜事·第5期
  • nodejs:开发并发布一个nodejs包
  • PAT A1017 优先队列
  • Service Worker
  • sublime配置文件
  • 力扣(LeetCode)56
  • 使用 Docker 部署 Spring Boot项目
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 微信小程序填坑清单
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • gunicorn工作原理
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 如何在招聘中考核.NET架构师
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (LeetCode C++)盛最多水的容器
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (ZT)薛涌:谈贫说富
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Docker基本介绍
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)h264中avc和flv数据的解析
  • (转)创业的注意事项
  • (轉)JSON.stringify 语法实例讲解
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET CLR基本术语
  • .NET 读取 JSON格式的数据
  • .NET 命令行参数包含应用程序路径吗?