> 백엔드 개발 > Golang > '버전이 없는 교체 모듈은 디렉터리 경로여야 합니다'라는 메시지와 함께 '교체' 지시문이 실패하는 이유는 무엇입니까?

'버전이 없는 교체 모듈은 디렉터리 경로여야 합니다'라는 메시지와 함께 '교체' 지시문이 실패하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-06 05:10:02
원래의
1022명이 탐색했습니다.

Why Does My

go 모듈 - 교체 지시문이 작동하지 않음: 교체 모듈 경로 오류 해결

go 모듈과 함께 로컬 패키지를 활용하려고 하면 다음과 같은 일반적인 오류가 나타날 수 있습니다. 버전이 없는 모듈은 디렉터리 경로(루트 또는 .로 시작)여야 합니다." 이 오류는 go.mod 파일 내 대체 지시문의 경로 구조가 잘못되었음을 나타냅니다.

교체 지시문 이해

go.mod의 대체 지시문을 사용하면 사용자가 종속성을 다른 항목으로 대체할 수 있습니다. 버전이나 소스. 그러나 교체 모듈에 대해 지정된 경로는 특정 기준을 준수해야 합니다.

  • 절대 경로: 절대 경로는 루트 디렉터리 문자(/)로 시작하고 전체 경로를 지정해야 합니다. 교체 모듈의 디렉터리 위치입니다.
  • 상대 경로: 상대 경로는 모듈의 루트 디렉터리에 상대적이어야 합니다.

경로 구조 오류 해결

질문에 제공된 예의 구조는 다음과 같습니다.

goweb/
  └─ src/
    └─ mypack/
      └─ go.mod (local package)
  go.mod (module containing the replace directive)
로그인 후 복사

경로 구조 오류를 해결하려면 교체 모듈에 대해 지정된 경로가 절대 경로이거나 다음에 오는 상대 경로인지 확인하세요.

Replace 지시문 수정

  1. 절대 경로 사용: mypack이 모듈 루트의 형제가 아닌 경우 절대 경로를 지정합니다. 경로는 다음과 같습니다.

    replace mypack => /absolute/path/to/mypack
    로그인 후 복사
  2. 상대 경로 사용: mypack이 모듈 루트의 형제인 경우 다음과 같이 상대 경로를 지정합니다.

    replace mypack => ../mypack
    로그인 후 복사

추가 참고 사항

  • 교체 모듈인 mypack에는 유효한 모듈로 인식되기 위해 go.mod 파일이 포함되어 있어야 합니다.
  • 피하세요. 더 이상 사용되지 않으므로 공급업체 디렉터리를 사용합니다.

이 단계를 수행하면 "버전이 없는 교체 모듈은 디렉터리 경로여야 합니다." 오류를 해결하고 go 모듈과 함께 로컬 패키지를 성공적으로 사용할 수 있습니다.

위 내용은 '버전이 없는 교체 모듈은 디렉터리 경로여야 합니다'라는 메시지와 함께 '교체' 지시문이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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