>백엔드 개발 >Golang >Go 모듈의 로컬 패키지에 어떻게 액세스할 수 있나요?

Go 모듈의 로컬 패키지에 어떻게 액세스할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-12-24 11:23:11256검색

How Can I Access Local Packages in Go Modules?

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 모듈](https://go.dev/blog/modules)

위 내용은 Go 모듈의 로컬 패키지에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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