>백엔드 개발 >Golang >Go의 GOPATH/src에서 로컬 패키지를 가져올 수 없는 이유는 무엇입니까?

Go의 GOPATH/src에서 로컬 패키지를 가져올 수 없는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 02:35:03232검색

Why Can't I Import Local Packages from GOPATH/src in Go?

Go에서 로컬 패키지 가져오기: GOPATH/src/프로젝트 딜레마 탐색

Go에서 프로젝트가 GOPATH/src 내에 있는 경우 로컬 패키지 가져오기가 어려울 수 있습니다. 예배 규칙서. 이 질문은 GOPATH/src 디렉토리에서 로컬 패키지 가져오기가 실패할 수 있지만 홈 디렉토리로 이동하면 성공하는 이유를 탐구합니다.

문제 원인

다음과 같은 경우 오류가 발생했습니다. GOPATH/src에서 로컬 패키지를 가져오려는 시도는 주로 상대 가져오기 경로를 사용하기 때문입니다. 상대 가져오기 경로는 프로젝트 내의 패키지를 참조하는 편리한 방법을 제공하지만 Go 빌드 및 설치 명령에서는 완전히 지원되지 않습니다.

해결책

이 문제를 해결하려면 , 상대 가져오기 경로를 사용하지 않고 대신 코드 구조화를 위한 Go 프로그래밍 언어 지침을 따르는 것이 좋습니다. 여기에는 각각 고유한 디렉터리가 있는 패키지 계층 구조로 코드를 구성하고 절대 가져오기 경로를 사용하여 이러한 패키지를 참조하는 작업이 포함됩니다.

다음 프로젝트를 고려하세요. 구조:

/usr/local/go/src/myproject
    - main.go
    - models
        - product.go

이 구조에서 main.go 파일은 절대 가져오기 경로를 사용하여 모델 패키지를 가져올 수 있습니다:

package main

import (
    "myproject/models"
    "fmt"
    "github.com/gin-gonic/gin"
)

추가 참고 사항

  • 프로젝트 이름을 포함하여 전체 절대 가져오기 경로를 사용하는 것이 중요합니다.
  • 프로젝트 경로가 GOPATH 환경 변수에 추가되었는지 확인하세요.
  • 필요할 수 있습니다. 변경 사항을 반영하기 위해 go build 또는 go install을 사용하여 프로젝트를 다시 빌드합니다.

이러한 지침을 따르면 GOPATH 디렉토리 내의 위치에 관계없이 Go에서 로컬 패키지를 성공적으로 가져올 수 있습니다.

위 내용은 Go의 GOPATH/src에서 로컬 패키지를 가져올 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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