gvm(go version manager)

gvm은 nvm처럼 golang의 버전을 관리해주는 도구이다. 패키지매니저로 go를 설치할 때 버전이 너무 낮아서 곤란하거나, 바이너리로 설치했는데 go 버전이 바뀌어 수동 업데이트가 필요하거나(update script), 여러 프로젝트에서 여러 버전의 go를 사용할 때 용이하게 쓸 수 있다.

gvm 설치

gvm 소스 링크

사용하는 쉘에 따라 다음 스크립트를 다운받아 실행한다.

bash

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

zsh

zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

쉘을 다시 실행하거나 source /Users/USER_NAME/.gvm/scripts/gvm를 실행하면 gvm을 사용할 수 있다.

gvm 사용하기

gvm listall

설치 가능한 golang 버전을 보여준다.

$ gvm listall                                                                                                

gvm gos (available)

   go1
   go1.0.1
   go1.0.2
.............

gvm install GO_VERSION

go version을 지정하여 설치한다.

$ gvm install go1.16.2                                                                                       
Downloading Go source...
Installing go1.16.2...
 * Compiling...
go1.16.2 successfully installed!

gvm list

설치된 버전들을 보여준다.

$ gvm list                                                                                                   

gvm gos (installed)

   go1.15
   go1.16.2
   system

gvm use

사용할 go 버전을 지정하면 GOROOT가 변경된다. 직접 하나하나 변경하는것보다 쉽게 할 수 있다. 

$ gvm use go1.16.2                                                                                           
Now using version go1.16.2

$ go version                                                                                                 
go version go1.16.2 darwin/amd64