나는 사용 GOPATH
했지만이 현재 문제에 직면하고 있는데 도움이되지 않습니다. 프로젝트와 관련된 패키지를 만들 수 있기를 원합니다.
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
나는 여러 가지 방법을 시도했지만 어떻게받을 수 있나요 package1.go
[작업에 binary1.go
나 binary2.go
에 그래서?
예를 들어; 나는 할 수 있도록하려면 import "package1"
다음 실행할 수 go build binary1.go
및 모든 오류가 패키지에서 찾을 수 없음을 발생하지 않고 잘 작동 GOROOT
하거나 GOPATH
. 이런 종류의 기능이 필요한 이유는 대규모 프로젝트를위한 것입니다. 다른 여러 패키지를 참조하거나 하나의 큰 파일로 유지하고 싶지 않습니다.
.go
단일 디렉토리의 모든 파일은 동일한 패키지의 일부이므로 import
동일한 패키지 (예 : 동일한 디렉토리)의 파일이 필요하지 않습니다 . 새로운 Go 모듈 시스템의 기능 중 하나 인 GOPATH 외부에서 작업하는 것을 언급했습니다. 이 응답 커버 등 단일 저장소에 여러 개의 모듈을 가지고 있는지 여부, 모듈 내에서 패키지를 배치, 현지 패키지를 가져 오기 구조를 모듈
git/repo/to/my/project
경로 를 지정하지 않으면 기본적으로 로컬 하위 패키지를 가져올 수 없습니까? 나는 누군가 가이 행동을 원하는 이유를 보지 못합니다. 프로젝트를 다른 위치 (예 : Docker 이미지)로 옮길 경우 모든 경로를 다시 변경해야합니까? 왜 이것이 그렇게 복잡한 지에 대한 답을 찾고 있습니다.