Go 모듈의 바꾸기 지시어로 모듈 경로 불일치 극복
Go 모듈 작업 시 경로 불일치가 발생하여 문제가 발생할 수 있습니다. go mod 깔끔한 작업 중에. 충돌하는 패키지가 타사 엔터티인 경우 이는 특히 어렵습니다.
과제:
특정 시나리오에서는 프로젝트에서 가져온 패키지가 다음과 같은 다른 패키지에 의존합니다. import 문에 선언된 경로(예: github.com/coreos/bbolt). 그러나 지정된 경로에서 패키지를 가져오면 해당 go.mod 파일은 실제 경로가 go.etcd.io/bbolt임을 나타냅니다.
이러한 불일치로 인해 부분 오류 메시지에 설명된 것처럼 오류가 발생합니다.
github.com/coreos/etcd/client: github.com/coreos/[email protected]: parsing go.mod: module declares its path as: go.etcd.io/bbolt but was required as: github.com/coreos/bbolt
해결 방법: 바꾸기 지시문
이 문제를 해결하려면 go.mod 파일 내의 바꾸기 지시문을 사용할 수 있습니다. 이 지시문을 사용하여 충돌하는 패키지의 올바른 경로를 지정합니다.
이 특정 상황을 해결하려면 go.mod 파일 끝에 다음 줄을 추가하세요.
replace github.com/coreos/bbolt v1.3.5 => go.etcd.io/bbolt v1.3.5
이 줄은 버전 1.3.5의 github.com/coreos/bbolt 패키지(버전 번호는 다를 수 있음)를 go.etcd.io/bbolt 버전 1.3.5로 대체해야 함을 나타냅니다.
구현:
다음과 같이 바꾸기 지시문을 구현합니다.
이 수정 사항을 적용한 후 go mod tidy를 실행하면 더 이상 경로 불일치 오류가 발생하지 않습니다. 이 접근 방식을 사용하면 모듈 종속성의 무결성을 유지하면서 경로 불일치가 있는 패키지로 원활하게 작업할 수 있습니다.
위 내용은 바꾸기 지시문은 Go 모듈의 모듈 경로 불일치를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!