Go가 처음 나왔을 때부터 이목을 끌던 귀여운 캐릭터 친구.... 멍청해보여서 더 귀엽당ㅋㅋ
GVM: Go Version Manager
GVM은 NVM 처럼 언어의 버전을 관리하는 매니저다. 당연히 공식지원이 아니라 오픈소스이다.
공식 Github: https://github.com/moovweb/gvm
다음의 명령어를 통해 gvm을 설치할 수 있다. 그러나! gvm을 설치하려면 go가 설치돼있어야 한다. ㅋㅋㅋㅋㅋㅋㅋ 엄청난 역설...
golang 설치때문에 엄청난 노고를 들여본 입장에서 감히 말해보자면, gopath 설정은 cosmos-sdk에서 알려준 게 최고다. 그래서 여기서도 이걸 기준으로 설명하겠다.
Golang 설치 (Go 설치)
다음은 운영체제별 Golang 설치 방법이다.
- Linux(Ubuntu)
sudo apt-get update
sudo apt-get install -y make gcc
wget https://go.dev/dl/go1.18.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.5.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
- macOS / Window는 공식 홈페이지에서 다운받아 설치하자
공식 홈페이지: https://go.dev/dl/
GOPATH 설정
Golang은 GOPATH를 설정해줘야 한다. 특히 unix 계열에서는 필수다. 그렇지 않으면 바이너리 파일 실행때문에 매번 노가다를 해야할 수도 있다.
- macOS / Linux(Ubuntu) / Unix
다음의 명령어를 ~/.bash_profile 에 추가한다. 파일이 없다면 하나 만들어주자.
export GOPATH=/usr/local/go/bin
- Windows
1. 윈도우는 환경설정 PATH 추가를 해줘야한다. 먼저 윈도우키를 누르고 "환경 변수"를 검색한다.
2. 그러면 고급 시스템 설정 > 환경 변수로 진입하게 되는데, 시스템 변수 편집을 클릭한다.
3. GOPATH를 찾아보고 없으면 추가한다.
4. 다음의 링크를 참조해서 상세히 설정하자
이제 다시 본론으로 돌아와서, GVM을 설치하고 사용해보자. 명령어를 사용하므로 당연히 터미널에서 진행한다.
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
// output
Cloning from https://github.com/moovweb/gvm.git to /Users/gyuhapark/.gvm
Created profile for existing install of Go at "/usr/local/go"
Installed GVM v1.0.22
Please restart your terminal session or to get started right away run
`source /Users/gyuhapark/.gvm/scripts/gvm`
터미널에 이미지를 넣어놔서 따로 복사해왔다.
가장 아래에 있는 명령어를 입력해서 지금 터미널에 반영해주자.
source ~/.gvm/scripts/gvm
이제 gvm 설치가 끝났다. 확인해보자
gvm version
# 출력
# Go Version Manager v1.0.22 installed at /Users/gyuhapark/.gvm
버전관리하기
gvm을 설치하면 현재 사용중인 버전이 없다. 따라서 현재 설치된 버전을 default로 한 번 잡아줘야 한다.
먼저 현재 설치된 golang을 살펴보자
gvm list
# 출력
# gvm gos (installed)
#
# system
nvm에서 사용할 node버전을 선택하듯이 동일한 명령어로 화면에 나타난 go 버전을 선택해야 한다.
이때, 우리는 초기 설정을 하고 있으므로 --default 옵션을 추가해보자
gvm use system --default
다시 gvm list를 해보면 다음과 같이 화살표로 현재 사용중인 go 버전이 표시된다
gvm list
# 출력
# gvm gos (installed)
#
# => system
#
필자는 현재 1.20 버전을 사용중인데 cosmos-sdk의 테스트넷 노드를 운영하기 위해서는 1.18 버전을 사용해야 한다.
일단 버전 확인 한 번 해주겠다.
gvm listall
# 출력
# go1
# go1.0.1
# go1.0.2
# go1.0.3
# go1.1
# ...중략...
# go1.18
# go1.18beta1
# go1.18beta2
# go1.18rc1
# go1.18.1
# ...중략...
# release.r58.2
# release.r60.1
# release.r60.2
# release.r60.3
그 다음은 원하는 버전을 설치해주자
gvm install go1.18
# 출력
# Downloading Go source...
# Installing go1.18...
# * Compiling...
# go1.18 successfully installed!
다음 명령어를 통해 버전을 변경한다
gvm use 1.18
# 출력
# Now using version go1.18
다시 리스트를 확인해보면 다음과 같다
gvm list
# gvm gos (installed)
#
# => go1.18
# system
go 버전을 확인해보면?
go version
# go version go1.18 darwin/arm64
잘 나온다 ㅎㅎ
참고로 터미널을 껐다가 키면 다시 system 버전으로 선택이 된다.
zsh를 사용중이고, 터미널을 껐다가 켰는데 command not found 명령어가 뜬다면 ~/.zshrc 파일에 다음과 같이 추가해주자.
# ~/.zshrc 파일에 추가
source ~/.gvm/scripts/gvm
'TIPS' 카테고리의 다른 글
[TIPS] Linux/macOS 터미널 비밀번호 없애기 (0) | 2023.04.11 |
---|---|
[TIPS] 코드스테이츠 디너클럽 후기 (0) | 2021.08.11 |
[TIPS] macOS git status 한글 깨짐 현상 해결하기 (0) | 2021.03.02 |
[TIPS] GitHub 새로운 기능, gh CLI 사용하기 (0) | 2020.09.21 |
[TIPS] JEST - 제스트, 테스트 All-in-one 패키지 (0) | 2020.09.12 |