[Documentation] [TitleIndex] [WordIndex

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

管理系统依赖项

Description: 本教程将展示如何使用rosdep安装系统依赖项.

Tutorial Level: INTERMEDIATE

Next Tutorial: Roslaunch在大型项目中的使用技巧

  Show EOL distros: 

System Dependencies

ROS packages有时会需要操作系统提供一些外部函数库,这些函数库就是所谓的“系统依赖项”。在一些情况下,这些依赖项并没有被系统默认安装,因此,ROS提供了一个工具rosdep来下载并安装所需系统依赖项。

ROS packages必须在配置文件中声明他们需要哪些系统依赖项。下面我们来看看turtlesim package的配置文件:

$ roscd turtlesim

然后,

$ cat package.xml
  • <package>
    
    ...
    ...
      <build_depend>message_generation</build_depend>
      <build_depend>libqt4-dev</build_depend>
      <build_depend>qt4-qmake</build_depend>
      <build_depend>rosconsole</build_depend>
      <build_depend>roscpp</build_depend>
      <build_depend>roscpp_serialization</build_depend>
      <build_depend>roslib</build_depend>
      <build_depend>rostime</build_depend>
      <build_depend>std_msgs</build_depend>
      <build_depend>std_srvs</build_depend>
    </package>

正如你所看到的,turtlesim 依赖这些函数库和packages.

$ cat manifest.xml
  • <package>
    
    ...
    ...
        <rosdep name="libqt4-dev"/>
        <rosdep name="qt4-qmake"/>
    </package>

正如你所见,turtlesim 依赖于 libqt4-devqt4-qmake.

$ cat manifest.xml
  • <package>
    
    ...
    ...
        <rosdep name="libqt4-dev"/>
        <rosdep name="qt4-qmake"/>
    
    </package>

正如你所见,turtlesim 依赖于 libqt4-devqt4-qmake.

rosdep

rosdep 是一个能够下载并安装ROS packages所需要的系统依赖项的小工具 使用方法:

rosdep install [package]

为turtlesim下载并安装系统依赖项:

$ rosdep install turtlesim

如果是按照教程的顺序学习,那么这很可能是你第一次使用rosdep工具,因此,当执行这条指令,你会看到如下的报错消息:

按照提示执行上边两条指令,并再次安装turtlesim的系统依赖项。

如果你安装的是二进制文件,那么会看到如下信息:

不然,你将看到如下的turtlesim依赖项安装信息:

rosdep 运行上述bash脚本,并在完成后退出。


2019-10-19 12:34