1 분 소요


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
    




참고자료

댓글남기기