我实现了依赖于其他软件包的ros软件包。
这些软件包取决于更多的软件包,依此类推...
在构建和运行程序包中的节点时,如何找出实际使用的程序包?
(除了手动查看所有package.xml文件外,因为在很多情况下,其中列出了一些软件包,但已经弃用并且不再使用了)
所以我正在寻找可以列出所有实际软件包依赖项的工具/命令/脚本之类的东西。
答案 0 :(得分:1)
我认为您可以使用rospack
本机执行此操作。要查看包所依赖的所有内容(包括依赖项的依赖项)而没有重复项,只需执行
rospack depends my_package
您可以使用缩进格式将其格式化,以查看每个程序包的所有依赖项链(如果一个以上的程序包具有相同的依赖项,则将包括链中的重复项):
rospack depends-indent my_package
如果只想知道包的直接依赖关系,则可以执行以下操作:
rospack depends1 my_package
我不确定是否可以解决您所确定的问题,即不应识别不赞成使用的依赖关系,但是如果某个包仍在package.xml中显式指定了依赖关系,那么系统如何知道这并不是真的依赖?最好使这些package.xml文件是最新的。