Go 모듈: '버전이 없는 교체 모듈은 디렉터리 경로여야 합니다.' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-05 10:52:02
원래의
740명이 탐색했습니다.

Go Modules: Why Does

Go 모듈 - "버전이 없는 교체 모듈은 디렉토리 경로여야 합니다." 오류 이해

Go 모듈을 사용할 때 교체 지시문을 사용하면 다음을 수행할 수 있습니다. 로컬 패키지로 종속성을 재정의합니다. 그러나 사용자는 "버전이 없는 교체 모듈은 디렉터리 경로여야 합니다."라는 오류가 자주 발생합니다. 이 문제를 해결하려면 바꾸기 지시문의 올바른 경로 구조를 이해해야 합니다.

교체 지시문의 경로 구조

교체 지시문에 지정된 경로는 다음을 준수해야 합니다. 특정 요구 사항. 다음 중 하나일 수 있습니다.

  • 절대 경로: 교체 모듈의 절대 위치를 나타내는 /로 시작하는 경로.
  • 상대 경로: 로 시작하는 경로입니다. 또는 .. 현재 모듈의 루트에 상대적인 위치를 가리킵니다.

예: 바꾸기 지시문에 상대 경로 사용

다음과 같은 프로젝트 구조:

my-project/
    go.mod
    src/
        my-app/
            main.go
        my-pack/
            pack.go
로그인 후 복사

my-app 모듈 내에서 로컬로 my-pack 패키지를 사용하려면 다음과 같이 go.mod를 수정할 수 있습니다.

module my-app

go 1.12

require my-pack v0.0.0

replace my-pack => ../my-pack
로그인 후 복사

여기서 상대 경로 ../my-pack은 한 수준 위이자 my-app 패키지의 형제인 my-pack 패키지를 가리킵니다.

추가 고려 사항

  • 교체 모듈(이 예에서는 my-pack)도 해당 디렉터리 내에서 go mod init my-pack을 실행하여 Go 모듈로 초기화해야 합니다.
  • 교체 모듈이 다음과 같은 경우 소비 모듈과 동일한 Go 모듈의 일부가 아닌 경우 go.mod 파일 내에서 가시성 설정을 조정해야 할 수도 있습니다.

이러한 지침을 따르면 교체 지시어를 효과적으로 사용하여 종속성을 재정의할 수 있습니다. Go 모듈을 사용할 때 로컬 패키지를 사용하세요.

위 내용은 Go 모듈: '버전이 없는 교체 모듈은 디렉터리 경로여야 합니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!