es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No puedo leer la variable de entorno $HOME dentro del depurador ROS de VSCode.

Tengo un archivo de lanzamiento muy simple como se muestra a continuación:

<launch>
  <arg name="dataset_dir" default="$(env HOME)/mnist" doc="ubicación del conjunto de datos"></arg>
  <node name="listener" pkg="package_a" type="listener.py" output="screen"></node>
  <node name="talker" pkg="package_a" type="talker" output="screen"></node>
</launch>

Mientras se ejecuta dentro del Depurador ROS de VSCode, muestra el siguiente error:

enter image description here

Consulte el contenido del archivo 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"
        }
    ]
}

El código funciona correctamente en la terminal normal pero muestra un error dentro de VSCode.

Estoy usando VSCode v1.62.3 en ROS Melodic dentro del sistema operativo Ubuntu 18.04.6 LTS.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El error mostrado en el Depurador ROS de VSCode es “No existe tal archivo o directorio”. Este error ocurre porque la variable de entorno HOME no se puede resolver dentro de VSCode.

    Para resolver este problema, es necesario agregar la opción env al archivo launch.json.

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

    Agregar "env": {"HOME": "${env:HOME}}" a tu archivo launch.json asegura que la variable de entorno HOME se resuelva correctamente dentro del Depurador ROS de VSCode.

    Después de agregar la configuración anterior a launch.json, el Depurador ROS de VSCode debería resolver correctamente la variable de entorno HOME y lanzar el archivo bringup.launch sin ningún problema.

Comments are closed.