ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
ROS software is not typically distributed and installed in the same way as "traditional" software. A ROS project is made up of several packages, each of which can be distributed and installed separately (to allow reuse in other ways). All the packages for a particular project must be present for that project to work. There will not be just one package because there are core dependencies, such as roscpp
, which must be used (unless you intentionally make your own single-workspace distribution).
For general information about ROS packages, see here. In particular, dependencies are described in section 5.
If you are looking for help on how to make your package installable by others using a binary, see this page on releasing packages in ROS using bloom
. It is possible to have a top package for your project that specifies all the dependencies it uses, so that when someone installs that top package the package manager automatically installs all the rest of your project as well.
If you want to bundle up an entire project that uses multiple packages into a single thing that someone can install and use, then you could consider using one of the software bundling tools. There are a few options available:
.deb
package. It's all based on ROS and Debian tooling and looks very nice.I haven't used any of the above three methods, but if I were to start using one now, I would probably use the Ubuntu Snaps method, simply because it's described in the most detail.