본문 바로가기
golang

go get과 go install (Golang)

by PudgeKim 2021. 5. 11.

golang에서 보통 라이브러리를 다운받을 때 go get 명령어를 사용하게 됩니다. 그런데 go에서는 go install 이라는 명령어도 있고 이는 분명 햇갈리게 합니다.

 

그럼 go get과 go install의 차이는 무엇일까요?

go get은 package를 다운로드한 후에 go install을 실행합니다. (이때 -d 옵션을 이용하면 다운로드만 합니다. 즉, 컴파일은 안합니다.)

go install은 다운로드된 package를 컴파일합니다.

이를 활용하면 go get으로 어떤 패키지를 다운받고 다운로드된 패키지에 추가적인 설정 등으로 변화를 준다음
go install로 컴파일하는 용도로 사용할 수 있습니다.

 

go get에는 -u 옵션도 있는데 이는 다운로드 받으려는 패키지가 이미 존재한다면 새로운 버젼과 비교하여 없는 부분만 다운받아줍니다.

 

지금까지의 설명은 go version 1.16 기준이었습니다.

go 1.17 부터는 go get -d옵션이 default로 설정되어집니다. 즉, go get 실행시 다운만 받고 컴파일은 안하게 됩니다.
go.mod의 dependencies를 managing하는데만 사용되는 것이죠.