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