ROS Dependencies VCS on Mac

brewmaster
newworld-kim
Published in
Nov 19, 2020

ROS 패키지를 개발 후 배포 할때 의존성 패키지들을 README를 통해 매뉴얼하게 빌드/설치하게 할 수 있지만, **vcs** 를 통해 빌드하게 할 수 있다. **vcs** 는 여러개의 저장소를 관리할 수 있는 툴로 Git , Mercurial, Subversion, Bazaar을 지원한다. 상세한 내용은 링크 에서 확인할 수 있다.

Mac에서는 brew 로 손쉽게 설치 할 수 있다.

# Install homebrew first.
# ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
$ brew install vcs

vcs status 로 원하는 경로 아래 로컬 저장소 리스트를 확인하자.

(본 포스팅에서는 ROS2 Navigation Stack 저장소를 예제로 사용하였다.)

# ROS2 Navigation Stack의 의존성 Repository
$ vsc status /path/to/ros2_ws
.....
=== src/BehaviorTree.CPP (git) ===
HEAD가 다음 위치에서 분리: ros2-3.1.1
커밋할 사항 없음, 작업 폴더 깨끗함
=== src/angles (git) ===
현재 브랜치 ros2
브랜치가 'origin/ros2'에 맞게 업데이트된 상태입니다.
커밋할 사항 없음, 작업 폴더 깨끗함
=== src/gazebo_ros_pkgs (git) ===
현재 브랜치 ros2
브랜치가 'origin/ros2'에 맞게 업데이트된 상태입니다.
커밋할 사항 없음, 작업 폴더 깨끗함
=== src/image_common (git) ===
현재 브랜치 ros2
브랜치가 'origin/ros2'에 맞게 업데이트된 상태입니다.
커밋할 사항 없음, 작업 폴더 깨끗함
=== src/vision_opencv (git) ===
현재 브랜치 ros2
브랜치가 'origin/ros2'에 맞게 업데이트된 상태입니다.
커밋할 사항 없음, 작업 폴더 깨끗

의존성을 설치하기 위해서 의존성 저장소들을 입력(Import)/추출(Export)하는 방법은 아래처럼 활용 가능하다.

# Export
# usage: vcs export [path] > [file_name]
$ vcs export /path/to/ros2_ws/src > my.repos
# Import
# usage: vcs import [path] < [file_name]
$ vcs import /path/to/ros2_ws/src < my.repos

개발한 패키지 저장소에 추출한 .repos 를 추가하여 배포하고, 입력 가이드 문서를 작성하면 끗.

  • References
    - [Install vcs on Mac with Brew](https://brewinstall.org/Install-vcs-on-Mac-with-Brew/)
    - [ros2 navigation stack](https://github.com/ros-planning/navigation2/blob/master/doc/BUILD.md)

--

--