ROS: Какие переменные окружения на самом деле изменяет install/setup.sh?

При выполнении install/setup.sh или install/local_setup.sh в ROS2 вы можете задаться вопросом, какие переменные окружения на самом деле изменяются.

Точные переменные могут зависеть от используемого проекта. Для этого примера мы будем использовать franka_description.

При использовании как setup.sh, так и local_setup.sh изменяются следующие переменные:

  • AMENT_PREFIX_PATH: [package]/install/[package]: добавляется в начало
  • CMAKE_PREFIX_PATH: [package]/install/[package]: добавляется в начало
  • COLCON_PREFIX_PATH: [package]/install добавляется в начало

Метод

trace-env.sh
cd franka_description
colcon build
printenv > a.env
source install/setup.sh
printenv > b.env

Теперь мы можем сравнить файлы:

diff-env.sh
diff a.env b.env

Пример вывода

Вывод идентичен для setup.sh и local_setup.sh в данном случае:

env-diff.txt
76,77c76,77
< AMENT_PREFIX_PATH=/opt/ros/jazzy
< CMAKE_PREFIX_PATH=/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
---
> AMENT_PREFIX_PATH=/home/user/franka_description/install/franka_description:/opt/ros/jazzy
> CMAKE_PREFIX_PATH=/home/user/franka_description/install/franka_description:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
81a82
> COLCON_PREFIX_PATH=/home/user/franka_description/install

Check out similar posts by category: ROS