Go 모듈 지원에서는 빌드 또는 설치 프로세스 중에 종속성이 자동으로 관리되고 설치됩니다. 이는 종속성 관리 단순화라는 목표에 부합합니다.
그러나 일부 개발자는 종속성을 명시적으로 관리하는 유연성을 선호합니다. 다른 생태계에서는 종속성 매니페스트(예: package.json)를 복사하고 종속성을 별도로 설치하는 것이 일반적입니다. 이 접근 방식은 Docker의 레이어 캐싱을 활용하여 재구축 성능을 최적화합니다.
솔루션
이러한 요구 사항을 충족하기 위해 Go는 문제 #26610에서 수정된 솔루션을 도입했습니다. 이제 개발자는 go mod download 명령을 사용하여 종속성을 수동으로 가져올 수 있습니다. 이 명령에는 go.mod 및 go.sum 파일만 필요합니다.
Docker 빌드에서 이 명령을 사용하는 방법의 예는 다음과 같습니다.
FROM golang:1.17-alpine as builder ... # Fetch dependencies COPY go.mod go.sum ./ RUN go mod download # Build ...
또한 다음을 참조하세요. Go 컴파일러 캐시를 사용하는 추가 최적화 기술은 "Go 개발자 환경 컨테이너화 - 2부" 문서를 참조하세요.
위 내용은 Go에서는 최적화된 빌드에 대한 명시적 종속성 가져오기를 허용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!