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

VSCode ROS调试器运行launch文件无法读取$HOME环境变量问题

问题描述

我有如下所示的简易launch文件:

<launch>
  <arg name="dataset_dir" default="$(env HOME)/mnist" doc="location to the dataset" />
  <node name="listener" pkg="package_a" type="listener.py" output="screen"/>
  <node name="talker" pkg="package_a" type="talker" output="screen"/>
</launch>

在VSCode ROS Debugger中运行时出现如下报错:
报错截图
我的launch.json文件内容如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ROS: Launch",
            "request": "launch",
            "target": "/home/ravi/catkin_ws/src/package_a/launch/bringup.launch",
            "type": "ros"
        }
    ]
}

该代码在普通终端运行正常,仅在VSCode内出现报错。
使用环境为Ubuntu 18.04.6 LTS操作系统、ROS Melodic版本、VSCode v1.62.3版本。

解决方案
  • 优先检查VSCode的环境加载是否正确:不要直接通过系统图标启动VSCode,先打开系统终端,依次执行source /opt/ros/melodic/setup.bash、source ~/catkin_ws/devel/setup.bash,再在同一终端执行code启动VSCode,重新尝试调试即可。
  • 如需简化启动流程,可将ROS环境和工作空间的source命令写入用户目录下的.bashrc文件:
    echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
    
    配置完成后重启终端,后续无论通过终端还是图标启动VSCode,都会自动加载ROS环境。
  • 若上述操作仍无法解决,可在launch.json中手动指定环境变量,修改后的配置如下:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "ROS: Launch",
                "request": "launch",
                "target": "/home/ravi/catkin_ws/src/package_a/launch/bringup.launch",
                "type": "ros",
                "env": {
                    "ROS_ROOT": "/opt/ros/melodic/share/ros",
                    "ROS_PACKAGE_PATH": "/home/ravi/catkin_ws/src:/opt/ros/melodic/share",
                    "ROS_MASTER_URI": "http://localhost:11311"
                }
            }
        ]
    }
    
  • 排查VSCode ROS插件版本兼容性:过高版本的ROS插件不再支持ROS Melodic,可将插件降级到v0.6.8版本,该版本对Melodic的适配性最好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:06:05