A partir de v1.11 Go, se agregó soporte para módulos. Comandos
go mod init <package name>
go build
generaría archivos go.mod
y go.sum
que contienen todas las versiones encontradas para las dependencias del paquete.
Si un módulo no tiene ninguna versión, se utiliza la última confirmación de ese módulo. Si un módulo tiene lanzamientos, el último se elige como dependencia.
Sin embargo, a veces necesitaría una funcionalidad que aún no está en una versión publicada, sino de una confirmación realizada después de esa versión. ¿Cómo configuro go.mod
para apuntar no a una versión de un módulo, sino a una confirmación específica en el repositorio del módulo?
Parece que puedo hacerlo a mano. Mod con
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
donde v0.0.0
no corresponde a la última etiqueta de lanzamiento publicada, 20181121201909
¿sería una marca de tiempo de confirmación y af044c0995fe
sería el hash de confirmación? ¿Debería encontrarse e ingresar esa información a mano, o hay una mejor manera?
/commits
, pero no debajo/pulls
. Vea más información aquí: golang / go # 31191 filtra explícitamente este tipo de confirmaciones.