Configuring GOPRIVATE for Private Go Modules
Go 모듈을 사내/비공개 레포로 쓸 때 필수 설정: GOPRIVATE.
Hun Jang Nov 26, 2025
비공개 Go 모듈 관리: GOPRIVATE 설정
Go 모듈을 사내/비공개 레포로 쓸 때 필수 설정: GOPRIVATE.
핵심 한 줄
GOPRIVATE에 사설 모듈 경로 패턴을 넣으면, go 명령이 공용 프록시( proxy.golang.org )와 체크섬 DB(sums.golang.org )를 우회하고 직접 Git에서 가져온다.
언제 필요하나
- GitHub Enterprise, 사내 GitLab, 개인 GitHub 프라이빗 리포를 go module로 import할 때
go get/go build가 410/403/패키지 없음 같은 오류를 낼 때
최소 설정 (개인 개발자 환경)
참고: GOPRIVATE는 기본값으로 GONOPROXY, GONOSUMDB에도 적용된다(따로 안 건드려도 됨).
팀/CI 공통 설정 예시
인증까지 세트로
사설 리포면 Git 인증이 필요하다.
잘 막히는 포인트 체크리스트
go env GOPRIVATE로 현재 값 확인
- 패턴에 와일드카드 빠졌는지 확인 (
github.com/YourOrg/*)
- CI에서 환경이 초기화되어 값이 사라지지 않았는지(빌드 전에
go env -wor ENV 주입)
- 사설 레지스트리라면 방화벽/프록시가 Git 접근 막는지
(보너스) go.work 를 쓸 때
모노레포/다중 모듈 개발 중이면 로컬에선 go work use ./modA ./modB로 개발 편의, 배포 파이프라인에선 위 GOPRIVATE로 원격 의존성 해결.