> 백엔드 개발 > Golang > 로컬 Go 모듈을 가져올 때 '경로 X에 대한 모듈을 찾을 수 없습니다' 오류를 해결하는 방법은 무엇입니까?

로컬 Go 모듈을 가져올 때 '경로 X에 대한 모듈을 찾을 수 없습니다' 오류를 해결하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-27 07:45:09
원래의
594명이 탐색했습니다.

How to Resolve

로컬 Go 모듈 가져오기에서 "경로 X에 대한 모듈을 찾을 수 없음" 문제 해결

Go 프로젝트에서 재사용 가능한 코드를 구성하기 위해 많은 사람들이 개발자는 로컬 Go 모듈을 가져올 때 "경로 X에 대한 모듈을 찾을 수 없습니다"라는 실망스러운 오류가 발생합니다. 이 문서에서는 근본 원인을 살펴보고 이 문제를 해결하기 위한 솔루션을 제공합니다.

게시되지 않은 로컬 모듈의 딜레마

일반 기능을 공개적으로 게시하지 않고 GOPATH 외부에 별도의 Go 모듈을 만듭니다. go mod init X를 사용하여 모듈을 초기화했음에도 불구하고 이를 메인 프로젝트로 가져오려고 하면 무서운 오류 메시지가 표시됩니다.

로컬 모듈에 대한 경로 누락

핵심 문제 중 하나는 공개적으로 액세스 가능한 모듈에 고유 식별자와 일치하는 경로가 있다는 사실입니다. 로컬 모듈을 게시하지 않기 때문에 Go는 식별자만으로는 자동으로 찾을 수 없습니다.

Rescue에 대한 교체 지시문

이 문제를 극복하려면, 교체 지시문이 작동합니다. 기본 모듈의 go.mod 파일에 다음 줄을 추가하면 로컬 모듈 X의 대체 경로를 지정할 수 있습니다.

require "X" v0.0.0
replace "X" v0.0.0 => "{local path to the X module}"
로그인 후 복사

"{X 모듈에 대한 로컬 경로}"를 모듈의 루트 디렉토리에 대한 실제 절대 또는 상대 경로.

로컬에서 가져오기 모듈

replacement 지시문을 사용하면 이제 공개적으로 게시된 모듈에서 가져오는 것과 유사한 구문을 사용하여 로컬 모듈에서 패키지를 가져올 수 있습니다.

import "X/util"
로그인 후 복사

설명 : 교체 지시문 뒤에 숨겨진 마법

Go의 모듈 시스템은 주로 모듈을 찾는 경로에 의존합니다. require를 사용하여 모듈 종속성을 선언하면 Go는 지정된 경로에서 모듈을 찾을 것으로 예상합니다. 공개 경로를 통해 액세스할 수 없는 로컬 모듈의 경우 교체 지시문은 가져오기를 로컬 코드로 리디렉션하는 방법을 제공합니다.

추가 리소스

로컬 모듈 작업 및 교체 지시문 활용에 대한 자세한 내용은 다음 문서를 참조하세요.

  • [Go 모듈: 내 로컬 파일 시스템에서 VCS 외부에서 완전히 작업할 수 있나요?](https://go.dev/doc/modules/faq#i-want-to-work-entirely-outside-of-vcs-on-my- local-filesystem)
  • [Go 모듈: 언제 교체를 사용해야 합니까? 지시어?](https://go.dev/doc/modules/faq#replace-directive)

위 내용은 로컬 Go 모듈을 가져올 때 '경로 X에 대한 모듈을 찾을 수 없습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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