我可以在ROS的catkin工作空间中编译安装ROS包。如何将 catkin 工作区中的包导出到 .deb 文件,以便在其他机器上安装和使用它?
我的 ROS 版本是 ROS Indigo,操作系统版本是 Ubuntu 14.04
这是使用ROS 绽放的分步指南:
导航到您的包路径
cd /path/to/package
使用 ROSbloom 创建 .deb 文件
bloom-generate rosdebian --os-name ubuntu --ros-distro kinetic fakeroot debian/rules binary
*如果您的 ROS 分布与 Kinetic 不同,请将 kinetic 替换为您的分布
将 .deb 文件复制到另一台机器,并在其文件夹类型中
sudo dpkg -i packagename.deb
这将在该机器上安装软件包,您现在可以像使用任何其他 ROS 软件包一样使用它
1 - 我认为ROS 构建农场将是一个很好的起点和解决方案。你不能像你说的那样创建一个.deb,但是你可以创建一个源代码封闭的ROS包
ROS 构建场还旨在支持部署自定义构建场。这对于发布闭源包、为官方 ROS 构建农场未提供的平台和架构构建,和/或根据特定需求定制流程的任何部分非常有用。
看看这里以获得更好的概述。
2 - 另一种方法是使用CMake install。尽管这需要两个平台之间具有相同的架构和 ROS Distro,并且两台机器的位置可以相同。
Define a CMAKE_INSTALL_PREFIX for some location like: /opt/your_ros_install.
Run sudo make install to allow installing there.
Copy the install directory from machine A to machine B, using scp or tar or some other technique.
要在任一机器上运行已安装的 ROS 包:source /opt/your_ros_install/setup.bash。
看看这篇文章:Generate .deb from ROS package
使用以下命令:
path-of-your-package$ bloom-generate rosdebian --os-name ubuntu --ros-distro kinetic
$fakeroot debian/rules binary