在我们编译软件的时候经常有报错,提示缺少软件包,但提示的一般是包的关键字,不是完整包名,还有在安装软件的时候不知道包的完整包名,用下面命令就能找到软件包的完整名称。
sudo apt-cache search 关键字
案例1
sudo apt-cache search diagnostic_updater
ros2@ubuntu:~$ sudo apt-cache search diagnostic_updater
[sudo] ros2 的密码:
ros-noetic-diagnostic-updater - diagnostic_updater contains tools for easily updating diagnostics.
ros-foxy-diagnostic-updater - diagnostic_updater contains tools for easily updating diagnostics.
ros-galactic-diagnostic-updater - diagnostic_updater contains tools for easily updating diagnostics.
ros-rolling-diagnostic-updater - diagnostic_updater contains tools for easily updating diagnostics.
用这条命令就能找到软件包的完整名:ros-foxy-diagnostic-updater
sudo apt install ros-foxy-diagnostic-updater //安装包
案例参考:
案例2
安装机器人导航包,文档内安装命令 :sudo apt install ros-<ros2-distro>-navigation2
这个命令是带版本选择的,并不是完整的包名,也需要用apt-cache search查找:
apt-cache search navigation2
#输出
ros-foxy-nav2-bringup - Bringup scripts and configurations for the navigation2 stack
ros-foxy-nav2-core - A set of headers for plugins core to the navigation2 stack
ros-foxy-nav2-gazebo-spawner - Package for spawning a robot model into Gazebo for navigation2
ros-foxy-nav2-msgs - Messages and service files for the navigation2 stack
ros-foxy-navigation2 - ROS2 Navigation Stack
ros-foxy-turtlebot3-navigation2 - ROS 2 launch scripts for navigation2
ros-galactic-navigation2 - ROS2 Navigation Stack
ros-galactic-turtlebot3-navigation2 - ROS 2 launch scripts for navigation2
完整包名应该是:ros-foxy-navigation2
sudo apt install ros-foxy-navigation2 #安装命令
安装完成。