go get vs install

Falcon·2021년 11월 20일
1

go

목록 보기
6/11
post-thumbnail

go get [build flags][packages]

소스코드를 모듈 캐시에 대상 패키지를 빌드, 설치하는 명령어

build flagsDescription
-uget latest packages
-dget will only update go.mod and download source code needed to build packages

Building and installing packages with get is deprecated
go get 명령어는 현재 모듈의 디펜던시 조정에만 쓰일 예정이다.

현재 모듈에 패키지를 설치하고 디펜던시 사용이 필요하다면 go install을 사용하라.

go install [build flags][packages]

컴파일과 패키지 파일을 GOBIN 환경변수 경로에 (로컬 컴퓨터에) 설치하는 명령어.

$GOBIN 은 보통 $GOPATH/bin or $HOME/go/bin 으로 설정하는게 국룰이다. $GOBIN 이 지정되지 않은 경우에는 $GOROOT/bin 에 설치된다.

모든 패키지 최신화 하고싶을 때

아래 명령어 하나만 입력하면 모든 패키지 버전이 최신화된다.

# Update the all packages in the current directory.
$ go get -u
# prune `go.sum` and organize by removing the unncessary checksums
$ go mod tidy

결론

최초 설치엔 그냥 go install 을 쓰면 된다.
그리고 설치한 라이브러리는 $GOBIN 에 존재하므로 환경변수 PATH$GOBIN 경로를 포함해야한다.

example

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
profile
I'm still hungry

0개의 댓글