Hello ROS 2 Windows users!
TL;DR - You will have to change how you install ROS 2 on Windows, for Rolling, Jazzy, and Humble. The good news is that it should be much simpler than before.
What are we doing?
We are changing how the dependencies necessary to build and run ROS 2 are installed on Windows. In particular, we are switching to using pixi to install and manage our dependencies. This has several advantages:
- The installation process is significantly simplified. Instead of dozens of steps to install dependencies, it is just a couple of commands.
- It is much easier to update dependencies, so in the future we shouldn’t have long periods of time stuck on obsolete versions (I’m looking at you, Python 3.8).
- The dependencies are installed in individual workspaces, with no “global” installation. Thus it is easy to work on multiple ROS distributions on the same machine.
Who will be impacted?
All users of ROS 2 on Windows will be impacted by this change. If you don’t use ROS 2 on Windows, nothing will change for you.
Unlike most changes we do, this also applies to our stable Humble and Jazzy users. While we try to not make big changes for stable distributions, in this case it would be too much work to maintain CI and packaging jobs for the stable distributions, the installation instructions for them would still be complicated, and they would still be using very outdated dependencies.
How are we doing this?
There is a series of pull requests that implement this. The first set added a pixi.toml file for each of the distributions:
- Add a pixi.toml file for installation on Windows. by clalancette · Pull Request #1642 · ros2/ros2 · GitHub
- [Jazzy]: Add a pixi.toml file for installation on Windows. by clalancette · Pull Request #1643 · ros2/ros2 · GitHub
- [Humble]: Add a pixi.toml file for installation on Windows. by clalancette · Pull Request #1644 · ros2/ros2 · GitHub
There are then two follow-up PRs, one to switch CI over to using these dependencies, and one to update the end-user instructions:
- Switch to using Pixi/Conda for Windows. by clalancette · Pull Request #802 · ros2/ci · GitHub
- Cleanup the Windows instructions for using conda/pixi. by clalancette · Pull Request #4989 · ros2/ros2_documentation · GitHub
Once those two PRs are merged, the next release of the respective distributions (Humble, Jazzy, and eventually Kilted) will only work properly using the new dependency system.
Questions?
If you have questions or comments about this change, please leave them in this thread and we’ll work through them with you.