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

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

DDD
DDD원래의
2024-12-26 03:56:17299검색

How Can I Access Local Packages Within My Go 1.11 Modules?

Go 1.11 모듈 내에서 로컬 패키지에 액세스

문제 설명

아래 설명된 것과 유사한 프로젝트 구조를 가진 Go 모듈의 로컬 패키지를 사용하면 다음과 같은 오류로 인해 컴파일이 실패합니다. "모듈을 찾을 수 없습니다" 오류.

/
  - /platform
      - platform.go
  - main.go
  - go.mod

해결책

Go 모듈 내의 로컬 패키지에 액세스하려면 프로젝트의 go.mod 파일을 수정하고 다음을 사용해야 합니다. 교체 지시어. 이 지시어를 사용하면 원격 저장소에서 사용할 수 없는 패키지의 로컬 경로를 지정할 수 있습니다.

문제 해결 단계

  1. 모듈 정의:

    • 예제에서 단, 메인 프로젝트용 모듈은 github.com/userName/mainModule로 정의할 수 있습니다.
    • 플랫폼 패키지용 모듈은 github.com/userName/otherModule로 정의할 수 있습니다.
  2. go.mod 수정 파일:

    • go.mod 파일에 다음 줄을 추가합니다.

      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"
    • otherModule에 대한 로컬 실제 경로를 절대 경로로 바꿉니다. otherModule의 루트 디렉터리 경로 디렉토리.
  3. 패키지 가져오기:

    • main.go에서 원하는 패키지를 다음에서 가져옵니다. otherModule:

      import "github.com/userName/otherModule/platform"

추가 정보

  • replace 지시문을 사용하면 원격 종속성을 교체할 수 있습니다. 버전이 동일하더라도 로컬 경로 사용 번호.
  • 모듈은 패키지 모음입니다. Go 11에서는 모듈을 사용하여 종속성과 버전을 관리할 수 있습니다.
  • Go 모듈에 대한 포괄적인 소개는 공식 문서를 참조하세요.

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

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