El comando go mod
en Go se utiliza para gestionar dependencias y módulos de un proyecto. Introducido en Go 1.11, el sistema de módulos permite definir qué bibliotecas externas utiliza un proyecto, asegurando que todas las versiones de esas dependencias sean consistentes.
go mod
?
go mod
es una herramienta de administración de módulos que permite:
El uso de módulos en Go está centrado en dos archivos:
go.mod
: Define el módulo, sus dependencias y versiones.
go.sum
: Asegura la integridad de las dependencias verificando sumas de control.
go mod
Para empezar a usar módulos en un proyecto, se inicializa con el comando go mod init
:
go mod init nombre-del-modulo
Este comando crea el archivo go.mod
, donde se guarda información del módulo y las dependencias.
go mod
Al crear un nuevo proyecto de Go, lo primero que debes hacer es inicializar el módulo. Esto se hace con el comando go mod init
seguido del nombre del módulo (generalmente la ruta o el repositorio del proyecto).
go mod init github.com/usuario/nombre-proyecto
Este comando genera un archivo go.mod
que se verá algo así:
module github.com/usuario/nombre-proyecto
go 1.20
Cuando agregas dependencias a tu código (importando paquetes externos), Go las añade automáticamente al archivo go.mod
. El siguiente comando descarga esas dependencias y las gestiona:
go mod tidy
Este comando elimina cualquier dependencia no utilizada y descarga las que sean necesarias.
Para actualizar todas las dependencias a sus últimas versiones compatibles, se usa:
go get -u ./...
Este comando actualiza las versiones dentro de las restricciones definidas en el archivo go.mod
.
Para asegurarte de que todas las dependencias están en su lugar y no han sido modificadas, puedes ejecutar:
go mod verify
Este comando verifica las sumas de control de las dependencias en el archivo go.sum
, asegurando la integridad.
Supongamos que estás creando un nuevo proyecto Go. Aquí tienes los pasos básicos para usar go mod
:
1. Inicializa el módulo:
go mod init github.com/usuario/proyecto
2. Agregar una dependencia externa (por ejemplo, el paquete github.com/gorilla/mux
):
go get github.com/gorilla/mux
Esto agrega la dependencia al archivo go.mod
y descarga el código necesario.
3. Limpiar las dependencias:
go mod tidy
Este comando elimina dependencias que no se están utilizando y actualiza go.mod
y go.sum
para reflejar correctamente el estado actual del proyecto.
4. Verificar integridad:
go mod verify
Este paso garantiza que las dependencias descargadas no han sido alteradas.
Para más detalles sobre go mod
y la gestión de módulos en Go, puedes consultar la documentación oficial de Go.
Jorge García
Fullstack developer