>백엔드 개발 >Golang >내 Go 모듈이 오래된 패키지 버전을 가져오는 이유는 무엇입니까?

내 Go 모듈이 오래된 패키지 버전을 가져오는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-29 03:46:02448검색

Why Is My Go Module Importing an Outdated Package Version?

이전 패키지 버전을 가져오는 모듈 시스템

Go 모듈을 통해 새 종속성을 통합할 때 오래된 패키지 버전이 있는 경우가 발생할 수 있습니다. 검색됩니다. 이는 github.com/docker/docker/client 패키지를 사용할 때 관찰할 수 있습니다. 패키지가 프로젝트 외부에서 원활하게 작동하지만 go mod Vendor를 실행하면 모듈 시스템이 코드에 중요한 특정 메서드가 부족한 버전 v1.13.1을 가져옵니다. 그러나 Go 모듈은 이 버전을 "최신" 릴리스로 식별합니다.

해결책: 특정 버전 입력 시행

go Mod가 실제 최신 버전을 활용하도록 합니다. 패키지에서는 원하는 버전을 명시적으로 지정할 수 있습니다. 모듈에 대한 Go Wiki의 지침은 이 접근 방식에 대한 통찰력을 제공합니다.

특정 버전 선택:

  • 특정 버전을 얻으려면 go get [email protected] 명령을 사용하세요. version.
  • go get foo@master를 입력하여 마스터 브랜치의 최신 커밋을 가져옵니다.
  • 고용 go get foo@e3702bed2를 사용하여 정확한 커밋을 대상으로 합니다.
  • 또는, go.mod 파일을 직접 수정하세요.

Master Branch 최신 커밋 예시:

마스터 브랜치에서 최신 커밋을 찾으려면 다음을 실행하세요. 명령:

go get github.com/docker/docker/client@master

이 작업은 go mod에게 패키지의 최신 버전을 검색하도록 지시하여 필요한 모든 메서드를 프로젝트에서 사용할 수 있도록 합니다.

위 내용은 내 Go 모듈이 오래된 패키지 버전을 가져오는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.