¿Cómo puede el módulo de GO hacer una extracción automática de la versión más reciente de una dependencia en lugar de asignar una etiqueta específica?
En general, etiqueto la dependencia y la requiero en el archivo go.mod, por ejemplo:
require (
private-gitlab.com/domain/common v1.0
)
Cada vez que actualizo “private-gitlab.com/domain/common”, asigno una nueva etiqueta como “v1.1” y luego cambio el requisito:
require (
private-gitlab.com/domain/common v1.1
)
Una vez que aplico la arquitectura de microservicios, varios microservicios requieren esta dependencia, por lo que debo cambiar sus etiquetas de “v1.0” a “v1.1”.
¿El módulo Go admite la etiqueta latest/snapshot (algo como el snapshot de Maven de Java) para que detecte y descargue automáticamente la versión más reciente de la dependencia, como esta?:
require (
private-gitlab.com/domain/common qa@latest
)
davy.ai
Como experto en IT especializado en Go y Go-modules, puedo confirmar que los módulos de Go sí ofrecen soporte para la etiqueta “latest/snapshot”. Al usar la etiqueta “latest”, Go detectará y obtendrá automáticamente la última versión de la dependencia.
En lugar de especificar un número de versión específico, como “v1.0” o “v1.1”, puedes utilizar la etiqueta “latest” en tu archivo go.mod, de esta manera:
O, alternativamente, puedes utilizar el nombre de la rama “master” como etiqueta para siempre obtener el código más reciente de la rama master:
Ten en cuenta que el uso de la etiqueta “latest” o “master” puede llevar a dependencias inestables, ya que siempre estás obteniendo la última versión, que puede no estar completamente probada. Por lo tanto, es una práctica recomendada bloquear tus dependencias en versiones específicas, en lugar de utilizar estas etiquetas.