Go Modules 사용하기
Go v1.11
부터 종속성(Dependencies) 버전 정보를 쉽게 관리하기 위한 Modules
가
예비 지원에 포함되었습니다.
go modules 는 go mod
라는 명령어로 사용가능 하며,
다음와 같은 옵션을 제공하고 있습니다.
모듈 초기화
go mod init
명령으로 모듈을 초기화합니다.
초기화가 성공하면 go.mod
파일이 생성됩니다.
$ go mod init {모듈 이름}
vendor 디렉토리 생성
go mod vendor
명령으로 의존성 패키지 vendor 디렉토리를 생성할 수 있습니다.
vendoer 디렉토리에는 go.mod 파일에 명시된 패키지들이 저장됩니다.
$ go mod vender -v
의존성 패키지를 로컬 경로로 설정하기
go.mod 파일에서 replace
지시어는 종속성을 관리하기 위한 추가 기능을 제공합니다.
go.mod 파일의 require
지시어를 replace
로 수정하여 로컬 경로로 설정할 수 있습니다.
module {모듈 이름}
replace {모듈패스} => {패키지 로컬 경로}
require
...
모듈 의존성을 로컬 vendor 만 적용하기
다음 명령으로 모듈을 vendor 패키지 기반으로만 빌드할 수 있습니다.
$ go build -mod vendor example.go
마찬가지로 다음 명령으로 모듈을 vendor 패키지 기반으로만 빌드하여
실행할 수 있습니다.
vendor 를 사용하면, 디버깅 경로도 vendor 내의 종속성을 참조합니다.
$ go run -mod vendor example.go
그 외에 자주쓰는 명령
- 패키지 정리, 패키지 삭제 및 추가 cf) go build -mod vendor
$ go mod tidy
- 위에 소개되지 않은 옵션들을 살펴볼 수 있다
$ go mod help
댓글남기기