[go] Ubuntu 에서 go 여러버전 사용하기

Ubuntu 리눅스에서 go의 여러 버전을 심볼릭 링크로 사용할 때 update-alternatives로 셋팅해서 사용하자.

# update-alternatives --install /usr/local/go go /usr/local/go1.17.2 1
update-alternatives: using /usr/local/go1.17.2 to provide /usr/local/go (go) in auto mode

# update-alternatives --install /usr/local/go go /usr/local/go1.16.8 2
update-alternatives: using /usr/local/go1.16.8 to provide /usr/local/go (go) in auto mode

# update-alternatives --install /usr/local/go go /usr/local/go1.14.15 3
update-alternatives: using /usr/local/go1.14.15 to provide /usr/local/go (go) in auto mode

# update-alternatives --config go
대체 항목 go에 대해 (/usr/local/go 제공) 3개 선택이 있습니다.

  선택       경로                우선순� 상태
------------------------------------------------------------
* 0            /usr/local/go1.14.15   3         자동 모드
  1            /usr/local/go1.14.15   3         수동 모드
  2            /usr/local/go1.16.8    2         수동 모드
  3            /usr/local/go1.17.2    1         수동 모드

현재 선택[*]을 유지하려면 <엔터>를 누르고, 아니면 선택 번호를 입력하시오:
#

update-alternatives

프로그램이 버전업 되거나 같은 이름으로 여러 다른 프로그램을 사용하고 싶을 때 다음과 같이 이용한다.

update-alternatives –install /usr/bin/<프로그램이름> <프로그램이름> <프로그램경로> 1
update-alternatives –config <프로그램이름>

예를 들면, 나는 p4v 가 계속 버전업될 때마다 다음과 같은 식으로 사용할 p4v 를 고른다.
사실 ln -s 와 같은 식으로 소프트 링크를 바꿔주는 것과 동일하다.

update-alternatives –install /usr/bin/p4v p4v /opt/p4v-어쩌고저쩌고/bin/p4v 1
update-alternatives –config p4v