Lo he usado GOPATH
pero para este problema actual que enfrento no ayuda. Quiero poder crear paquetes que sean específicos para un proyecto:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go
Lo intenté de varias maneras, pero ¿cómo me pongo package1.go
a trabajar en el binary1.go
o el binary2.go
y así sucesivamente?
Por ejemplo; Quiero poder import "package1"
y luego poder ejecutar go build binary1.go
y todo funciona bien sin que se produzca el error de que no se puede encontrar el paquete GOROOT
o GOPATH
. La razón por la que necesito este tipo de funcionalidad es para proyectos a gran escala; No quiero tener que hacer referencia a varios otros paquetes o guardarlos en un archivo grande.
.go
archivos en un solo directorio son parte del mismo paquete, y no necesita import
archivos en el mismo paquete (es decir, el mismo directorio). Usted mencionó trabajar fuera de GOPATH, que es una de las capacidades del nuevo sistema de módulos Go. Este respuesta cubiertas módulo de estructura, la importación de paquetes locales, la organización de los paquetes dentro de un módulo, si desea o no tener múltiples módulos en un solo repositorio, etc.
git/repo/to/my/project
ruta completa ? Simplemente no veo la razón por la que alguien querría este comportamiento. ¿Qué sucede si mueve su proyecto a otra ubicación (es decir, imagen de Docker), necesita alterar todas las rutas nuevamente? Estoy buscando respuestas por qué esto es tan complicado.