如何查看ROS中rosdep install命令安装的具体软件包
查看
rosdep install命令安装的特定包 要找出这条rosdep install命令具体安装了哪些包,有几个实用的方法,分情况来看:
1. 模拟执行(最直接,推荐)
如果你还能重新运行命令(不会影响已安装的包),可以加上--dry-run参数让rosdep只输出计划安装的包,而不实际执行安装操作:
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y --dry-run
这个命令会列出所有rosdep打算通过apt(或其他包管理器)安装的依赖包,包括直接依赖和间接依赖,完全对应你之前执行的命令逻辑。
2. 查看apt/dpkg的历史日志
rosdep底层是调用系统包管理器(比如apt)来安装依赖的,所以可以通过系统日志回溯那次安装的包:
- 查看apt历史日志:
apt的操作记录存在/var/log/apt/history.log里,你可以搜索包含rosdep相关的安装条目:
日志里会明确列出某次cat /var/log/apt/history.log | grep -A 15 -B 3 "rosdep install"apt install调用安装的所有包名,找到对应时间的条目即可。 - 查看dpkg日志:
如果记得执行命令的大致时间,也可以过滤dpkg的日志来定位:
把grep "YYYY-MM-DD HH:" /var/log/dpkg.log | grep " install "YYYY-MM-DD HH:替换成你执行命令的时间范围,就能看到那个时间段内安装的所有包,结合你的操作场景就能区分出rosdep安装的部分。
3. 导出rosdep解析的依赖列表
如果想知道这条命令理论上需要安装的依赖(不管是否已经提前安装),可以让rosdep直接导出依赖列表到文件:
rosdep resolve --from-paths src --ignore-src --rosdistro kinetic > rosdep_required_deps.txt
打开这个文件就能看到所有rosdep认为需要安装的包,如果你是第一次执行原命令,这个列表基本就是实际安装的包;如果之前已经有部分依赖存在,那实际安装的就是列表里之前未安装的部分。
内容的提问来源于stack exchange,提问作者Yves
相关产品推荐
相关产品推荐

