ros2 install_error ai_generated true

RMW_IMPLEMENTATION=rmw_fastrtps_cpp:找不到RMW实现:包列表中未找到'rmw_fastrtps_cpp'

RMW_IMPLEMENTATION=rmw_fastrtps_cpp: Failed to find RMW implementation: 'rmw_fastrtps_cpp' not found in package list

ID: ros2/rmw-implementation-not-found

其他格式: JSON · Markdown 中文 · English
95%修复率
90%置信度
1证据数
2023-04-20首次发现

版本兼容性

版本状态引入弃用备注
Humble active
Iron active
Jazzy active
Rolling active

根因分析

指定的RMW实现包未安装在ROS2环境中,通常由安装不完整或工作空间源设置错误导致。

English

The specified RMW implementation package is not installed in the ROS2 environment, often due to incomplete installation or incorrect workspace sourcing.

generic

官方文档

https://docs.ros.org/en/rolling/Concepts/About-RMW-Implementations.html

解决方案

  1. Install the missing RMW implementation package using apt.
  2. List available RMW implementations and choose an installed one.
  3. Ensure the ROS2 setup script is sourced before checking RMW availability.

无效尝试

常见但无效的做法:

  1. Setting RMW_IMPLEMENTATION to a random string like 'rmw_cyclonedds_cpp' without installing it 90% 失败

    Only installed RMW implementations are available; setting an uninstalled one causes the same error.

  2. Rebuilding all packages with colcon build 50% 失败

    The RMW implementation is a system package, not a workspace package; rebuilding doesn't install it.

  3. Setting RMW_IMPLEMENTATION in .bashrc without sourcing the ROS2 setup file 60% 失败

    The environment variable is set but the ROS2 installation isn't sourced, so packages aren't found.