최상위 및 하위 모듈 가져오기와의 Go 모듈 종속성 충돌 해결
이 문제는 최상위 모듈과 다음 중 하나가 해당 하위 모듈은 서로 다른 버전으로 별도로 가져오기 때문에 종속성 충돌이 발생합니다. 프로젝트에 github.com/foo/bar 및 github.com/raz/mataz라는 두 가지 종속성이 있는 시나리오를 생각해 보세요. go mod 다운로드를 실행하면 하위 모듈이 있기 때문에 github.com/shared/dependent의 두 가지 다른 버전이 다운로드됩니다.
다운로드한 모듈을 검사하면 여러 다운로드 버전이 드러납니다.
이 불일치로 인해 github.com/을 가져오려고 할 때 모호한 가져오기 오류가 발생합니다. 공유/종속성/API. Go 도구는 두 디렉터리에 충돌하는 버전이 있기 때문에 사용할 버전을 결정할 수 없습니다.
해결책: 종속성 버전 업그레이드
이 문제의 근본 원인은 대개 다음과 같습니다. 충돌하는 종속성 내에서 사전 모듈 버전 관리와 관련됩니다. go.mod 파일에 다음 줄을 추가하면 충돌하는 종속성이 go-module 지원 버전을 사용하도록 강제됩니다.
replace ( github.com/shared/dependency => github.com/shared/dependency v1.2.0 )
이렇게 하면 github.com/shared/dependent에 대한 참조가 go와 호환되는 버전을 사용하도록 강제됩니다. 모듈, 충돌하는 종속성 문제를 해결합니다. 공유 종속성에 대한 모든 참조가 go-module 지원 버전으로 전달되기 때문에 이 솔루션이 작동한다는 점에 유의하는 것이 중요합니다.
위 내용은 최상위 및 하위 모듈 가져오기로 Go 모듈 종속성 충돌을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!