Skip to content

Windows 安装

本页说明如何在 Windows 上通过预编译的二进制包安装 ROS 2。

注意:预编译的二进制包并不包含所有 ROS 2 软件包。其中包含了 ROS base 变体 中的所有软件包,以及 ROS desktop 变体 中的部分软件包。具体的软件包列表由 此 ros2.repos 文件 中列出的仓库定义。

仅支持 Windows 11。

该目录将同时存放安装好的二进制包和 ROS 2 本体。

打开一个命令提示符(Command Prompt)会话(通常可以点击开始菜单,然后输入 Command Prompt)。

然后创建一个用于存放安装内容的目录。由于 Windows 路径长度有限制,该路径应尽可能简短。在后续说明中,我们将使用 C:\dev。

Terminal window
md C:\dev

ROS 2 使用 conda-forge 作为软件包后端,并使用 pixi 作为前端。

注意:安装 conda-forge 时,Windows Defender 可能会将其标记为威胁。你可以点击”更多信息”(More info),然后选择”仍要运行”(Run anyway)来安全地跳过该提示。

按照 https://pixi.sh/latest/ 上的说明,使用 Windows 安装程序或在已打开的命令提示符中通过命令行安装 pixi。

pixi 安装完成后,关闭当前命令提示符并重新打开,以确保 pixi 已被添加到 PATH 中。

DISTRO_TITLE_FULL 不提供二进制发布版本。你可以改为下载每日构建的 预发布二进制包。

  • 下载最新的 Windows 软件包,例如 ros2-package-windows-AMD64.zip。
  • 将 zip 文件解压到系统中的某个位置(我们假设为 C:\dev\)。
  • 将解压后的文件夹名称更改为与发行版对应的名称(我们假设为 C:\dev\{DISTRO})。

进入你解压 ROS 2 预发布二进制文件的文件夹,并安装依赖:

Terminal window
cd C:\dev\{DISTRO}
pixi install

运行预安装设置脚本,让解压出的文件能够在当前存放 ROS 2 二进制文件的文件夹中正常运行:

Terminal window
pixi run python preinstall_setup_windows.py

ROS 2 默认使用的中间件是 Fast DDS,但中间件(RMW)可以在运行时替换。有关如何使用多种 RMW 的说明,请参阅 RMW 实现指南。

安装 Visual Studio Build Tools 2022(可选)

Section titled “安装 Visual Studio Build Tools 2022(可选)”

如需编译 C++ 编写的软件包,请安装 Visual Studio Build Tools 2022。在安装过程中,选择”使用 C++ 的桌面开发”(Desktop development with C++)工作负载,以确保 MSVC 编译器和 Windows SDK 可用。从此处 下载。

请在”x64 Native Tools Command Prompt for VS 2022”(可从开始菜单中找到)中运行所有命令,该终端会自动配置好所需的构建环境。

注意:不需要安装完整的 Visual Studio IDE。

在同一个命令提示符或新开的终端中,你可以加载 ROS 2 环境。

在你打开的每一个用于配置 ROS 2 工作空间的命令提示符中,都需要加载 pixi 环境和 ROS 2 环境:

Terminal window
cd C:\dev\{DISTRO}
pixi shell
call C:\dev\{DISTRO}\local_setup.bat

如果你的计算机上没有安装 RTI Connext DDS,收到缺少该组件的警告是正常的。

在命令提示符中,按上述方法配置好 ROS 2 环境,然后运行一个 C++ talker:

Terminal window
ros2 run demo_nodes_cpp talker

再打开一个新的命令提示符终端,运行一个 Python listener:

Terminal window
ros2 run demo_nodes_py listener

你应该会看到 talker 输出 Publishing(发布)消息,而 listener 输出 I heard(我听到了)。这说明 C++ 和 Python API 都能正常工作。

继续阅读教程,配置你的环境、创建自己的工作空间和软件包,并学习 ROS 2 的核心概念。

故障排除技巧请参阅 安装故障排除。

  1. 如果你按照上述说明进行了安装,“卸载”可能只需打开一个新的终端,并且不加载工作空间的 setup 文件即可。这样,你的环境就会表现得好像系统上没有安装 DISTRO_TITLE 一样。

  2. 如果你还想释放空间,可以用以下命令删除整个工作空间目录:

    Terminal window
    rmdir /s /q C:\dev\{DISTRO}