Go 모듈(Go 1.11)에서 로컬 패키지에 액세스
Go 모듈을 사용하여 작업할 때 gopath 외부의 로컬 패키지에 액세스하는 것이 어려울 수 있습니다. 다음 프로젝트 구조를 고려하십시오.
/ - /platform - platform.go - main.go - go.mod
이 설정을 사용하면 main.go에서 플랫폼 패키지를 가져오면 플랫폼 모듈을 찾을 수 없다는 오류가 발생합니다.
이 문제를 해결하려면 , 여러 가지 접근 방식을 사용할 수 있습니다. 한 가지 방법은 두 패키지가 모두 동일한 모듈 내에 있는지 확인하는 것입니다. 이렇게 하려면 go.mod에 다음을 추가하기만 하면 됩니다.
module github.com/userName/moduleName
main.go 내에서 다음을 사용하여 플랫폼 패키지를 가져올 수 있습니다.
import "github.com/userName/moduleName/platform"
그러나 패키지가 물리적으로 별도의 모듈에 있더라도 기본 모듈의 go.mod에서 교체 지시어를 사용하여 로컬 패키지를 가져올 수 있습니다. file.
module github.com/userName/mainModule require "github.com/userName/otherModule" v0.0.0 replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"
이제 main.go 내에서 otherModule 모듈에서 플랫폼 패키지를 가져올 수 있습니다.
import "github.com/userName/otherModule/platform"
replace 지시문의 경로는 루트를 가리켜야 한다는 점을 기억하세요. 교체되는 모듈의 디렉터리입니다.
Go 모듈에 대한 포괄적인 이해를 위해서는 다음을 참고하세요. 리소스:
위 내용은 Go 모듈의 로컬 패키지에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!