es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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
)
Tags:  ,

Answer

  1. Avatar for 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:

    require (
        private-gitlab.com/domain/common v0.0.0-20210421164834-abcd1234efgh // Reemplaza con tu última etiqueta de versión real
    )
    

    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:

    require (
        private-gitlab.com/domain/common 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.

Comments are closed.