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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-06 05:10:02914검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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