>백엔드 개발 >Golang >내 GOPATH 프로젝트 내에서 로컬 패키지를 가져올 수 없는 이유는 무엇입니까?

내 GOPATH 프로젝트 내에서 로컬 패키지를 가져올 수 없는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-31 03:24:30915검색

Why Can't I Import Local Packages Within My GOPATH Project?

GOPATH 패키지 가져오기 문제

GOPATH 내에서 로컬 패키지를 가져오는 데 문제가 있지만 홈 디렉터리에서는 가져오는 데 문제가 발생했습니다. 설명하신 대로 프로젝트 구조가 올바른 것 같습니다.

상대 가져오기 경로

Go에서는 상대 가져오기 경로를 사용하지 않는 것이 좋습니다. 이는 주로 실험용이며 go build 및 go install 명령에서는 완전히 지원되지 않습니다. 프로젝트가 Go 도구와 원활하게 작동하려면 상대 가져오기를 사용하지 않는 것이 좋습니다.

GOPATH 구조

GOPATH는 Go가 찾는 디렉터리를 지정하는 환경 변수입니다. 패키지. 기본 GOPATH는 홈 디렉터리($HOME/go)로 설정됩니다. 귀하의 경우 프로젝트가 $GOPATH/src/project에 있으면 Go 도구가 로컬 패키지를 올바르게 찾을 수 없기 때문에 로컬 패키지를 가져올 수 없습니다.

권장 사항

이 문제를 해결하려면 다음을 고려하십시오.

  • 절대 가져오기 경로 사용: 상대 가져오기 경로를 사용하는 대신 절대 경로를 사용하세요. 로컬 패키지. 귀하의 경우 모델 패키지에 대한 import 문은 다음과 같아야 합니다.

    <code class="go">import "projpath/models"</code>

    projpath를 프로젝트 디렉터리의 실제 경로로 바꾸세요.

  • 공급업체 시스템을 고려하세요. : Go Modules 또는 Go Vendoring과 같은 공급업체 시스템은 종속성을 관리하고 상대 가져오기 경로를 지원하는 데 도움이 될 수 있습니다. 프로젝트 내에서 로컬 패키지를 지정하고 추적할 수 있습니다.

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

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