솔직히 말하자면 그냥 https://go.dev/doc/install 의 내용을 그대로 가져온겁니다.
그냥 저 스스로 머릿속으로 정리하고 싶어서 이렇게 게시글로 남긴겁니다.
확실한 설치는 저 링크의 내용을 따라하세요~
https://go.dev/dl/ 에 가서 아래처럼 tar.gz
다운로드 링크를 복사해옵니다.
(글쓰던 당시에는 1.22.5
가 가장 최신이어서 해당 버전으로 기준으로 글을 작성했습니다)
이후에 리눅스 환경으로 가서 wget
으로 다운로드 받고 설치를 진행합니다.
# tar.gz 다운로드
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
# 기존에 깔려있던 go 삭제 및 tar.gz 를 /usr/local 에 압축해제
sudo rm -rf /usr/local/go;
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
# 사용이 끝난 tar.gz 제거
rm go1.22.5.linux-amd64.tar.gz
go
명령어를 linux 서버 사용자 모두가 접근이 가능하도록
아래와 같이 /etc/profile
에서 PATH 환경변수를 수정해줍니다.
sudo vim /etc/profile
# 맨 밑에 아래 export 문 추가
# export PATH=$PATH:/usr/local/go/bin
참고
예전go 1.11 버전
이전까지는GOROOT
,GOPATH
환경변수를 지정해줬어야 했는데
이제는 안 하는 것을 권장한다고 합니다.
# 프로젝트 디렉토리 생성
mkdir -p ~/go-practice/hello-world
cd ~/go-practice/hello-world
# 모듈 초기화. 프로젝트 내의 모든 dependeny 를 관장하는 go.mod 파일이 생성된다.
# (모듈 명칭은 자신의 github 리포지토리로 잡아준다, go get 과 연동되도록 하기 위함)
go mod init github.com/devToroko/hello-world
# go 파일 하나 생성 및 내용 작성
vim main.go
main.go 의 내용은 아래와 같이 작성
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
# 마지막으로 아래처럼 실행하면 끝
go run .
그냥 기존 /usr/local/go
디렉토리를 삭제하고,
그 위치에 새로 다운로드 받은 tar.gz 를 풀어주면 끝입니다.
# 신규 버전의 tar.gz 다운로드
wget https://go.dev/dl/go1.???.???.linux-amd64.tar.gz
# 기존 go 바이너리 디렉토리 삭제
sudo rm -rf /usr/local/go
# 신규 버전의 go tar.gz 압축해제
sudo tar -C /usr/local -xzf go1.???.???.linux-amd64.tar.gz