You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在catkin_ws执行catkin_make遇CMake错误,ROS版本冲突如何解决?

解决ROS多版本环境冲突导致catkin_make失败的问题

核心问题:你的系统中同时配置了ROS Foxy和Noetic两个版本的环境变量,导致catkin_make解析环境时出现语法错误(提示ROS_DISTRO was set to 'foxy' before)。

解决步骤:

  • 临时清除当前终端的ROS环境变量
    执行以下命令快速消除当前会话的环境冲突:

    unset ROS_DISTRO ROS_ROOT ROS_PACKAGE_PATH
    
  • 永久修复shell配置文件
    打开默认shell配置文件:

    nano ~/.bashrc
    

    找到所有包含ROS的source命令,注释掉Foxy相关配置,保留Noetic的配置,示例如下:

    # source /opt/ros/foxy/setup.bash  # 注释该行,禁用Foxy环境
    source /opt/ros/noetic/setup.bash   # 保留Noetic环境配置
    # source ~/catkin_ws/devel/setup.bash  # 暂时注释,重新构建后可恢复
    

    保存并退出编辑器(按Ctrl+O回车确认保存,Ctrl+X退出)。
    若使用zsh,需修改~/.zshrc文件,操作逻辑一致。

  • 刷新环境变量

    source ~/.bashrc
    
  • 清理旧构建文件
    进入catkin工作空间,删除之前的构建缓存:

    cd ~/catkin_ws
    rm -rf build devel
    
  • 重新执行catkin_make

    catkin_make
    

内容的提问来源于stack exchange,提问作者Sugan S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 03:50:23