ROS 2 colcon构建失败:package.xml XML声明格式错误(行1列6)
ROS 2 package.xml XML声明解析错误排查补充方案
执行colcon build --packages-select camera_status_node --symlink-install构建ROS 2包时触发XML声明格式错误(第1行第6列),已尝试指定的5种排查手段仍未解决,以下是额外的排查方向和操作步骤:
catkin_pkg版本兼容性问题
不同ROS 2发行版对应的catkin_pkg版本有适配要求,版本不匹配可能导致解析逻辑异常。先检查当前版本:pip show catkin_pkg对照当前ROS 2发行版的官方依赖版本,重新安装适配的catkin_pkg:
# 以Humble为例,替换为对应发行版要求的版本号 pip install catkin_pkg==0.5.2文件格式与隐藏字符问题
DOS格式的换行符(\r\n)可能被catkin_pkg误判为隐藏字符。用file命令检查文件格式:file package.xml如果输出包含
CRLF line terminators,执行转换:dos2unix package.xml工作空间内其他包的干扰
colcon会扫描整个工作空间的package.xml,若其他包的配置文件存在问题,可能引发错误误报。将当前包移至空工作空间单独测试:mkdir -p ~/test_ws/src cp -r ./camera_status_node ~/test_ws/src/ cd ~/test_ws colcon build --packages-select camera_status_node --symlink-install彻底清理构建缓存
仅清理CMake缓存可能不够,彻底删除build、install、log目录后重新构建:rm -rf build install log colcon build --packages-select camera_status_node --symlink-installXML声明的特殊细节问题
检查XML声明是否存在大小写错误(如<?XML version="1.0"?>),或额外添加的编码属性格式异常。尝试简化声明为纯标准格式:<?xml version="1.0"?>
内容的提问来源于stack exchange,提问作者Isaac Kamala
相关产品推荐
相关产品推荐

