Chose Language:
comments
Author: Admin/Publisher |finished | checked

Módulos de GO

En este apartado veremos los módulos de GO ya hace un tiempo que GOPATH esta siendo sustituido por esta nueva manera de gestionar las dependencias que componen nuestro proyecto. GOPATH aún es utilizable, pero se encuentra en desuso.

El uso de módulos es recomendado por el equipo de desarrollo de Go.

¿Qué son los módulos de Go?

Los módulos son una colección de paquetes almacenados en un árbol de archivos (file tree) que posee un archivo go.mod

En definitive nuestro Proyecto es un módulo el cual puede depender de otros módulos.

Si abrimos un archivo go.mod en cualquier editor de texto veremos las dependencias de nuestro proyecto

¿Qué más puedo ver en el archivo go.mod?

·  Lista de dependencias:

 Módulos de los que depende tu proyecto para funcionar.

·  Versiones de las dependencias:

 Versiones específicas de cada módulo que se utilizan.

·  Dependencias transitivas:

 Módulos de los que dependen las dependencias directas.

Los módulos solo pueden ser usados siempre y cuando la variable de entorno predefinida GO111MODULE este en on

Si lo deseas puedes ver más sobre estas variables de entorno en: Variables de entorno predefinidas frecuentemente utilizadas en Go

[ADS_A1/]

El archivo go.mod

Hay una cantidad de comandos que pueden ser utilizados que trabajan con el archivo go.mod

go mod init

En Go crear el archivo go.mod es simple, solo debes de correr el comando go mod init para crearlo, este comando crea él go.mod inicial de nuestro proyecto.

project folder
go mod init

Hay otros comando que también pueden hacer modificaciones en go.mod, por ejemplo:

go mod tidy

El comando go mod tidy limpiará las dependencias que no necesite el proyecto y agregara dependencias nuevas que hayamos agregado a este.

project folder
go mod tidy

go mod vendor

También, por otro lado, tenemos el comando go mod vendor que, aunque se desaconseja su uso este sirve para las build del proyecto, ya que este crea una carpeta vendor con las dependencias.

En caso de no correr la build con la carpeta vendor el archivo .exe o de ejecución creado podía no funcionar correctamente.

A partir de go 1.18 ya no es necesario correr go mod vendor la descarga de los módulos necesarios será automática por defecto. Cave destacar que esto depende plenamente de su conexión a internet

project folder
go mod vendor

otros comandos

Podemos verificar las dependencias de los módulos que usamos con go mod verify

Para agregar módulos a nuestro proyecto tenemos el comando go get aunque este ha ido siendo remplazado por go install, y, por tanto, si en alguna ocasión no puedes utilizar el módulo con go get inténtalo con go install.

Puedes ver más de comandos para los módulos en https://go.dev/ref/mod

Category: go
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category

Comments