Cómo compilar e instalar programas Go

1 mar 2021 6 min di lettura
Cómo compilar e instalar programas Go
Indice dei contenuti

Introducción

El go run para compilar automáticamente el código fuente y ejecutar el ejecutable resultante es útil para probar el código en la línea de comando, para implementar o distribuir la aplicación necesita crear el código en un ejecutable binario que se puede compartir o en un solo archivo que contiene el código de bytes de la máquina que puede ejecutar la aplicación. Para hacer esto, puede usar la cadena de herramientas de Go para compilar e instalar el programa.

En Go, el proceso de traducir el código fuente a un ejecutable binario se llama compilación. Una vez que se crea este ejecutable, contendrá no solo su aplicación, sino también todo el código de soporte necesario para ejecutar el binario en la plataforma de destino. Esto significa que un binario de Go no necesita dependencias del sistema como Go para ejecutarse en un nuevo sistema, a diferencia de otros lenguajes como Ruby, Python o Node.js. Al colocar estos archivos ejecutables en una ruta de archivo ejecutable en su sistema, podrá ejecutar el programa desde cualquier lugar del sistema.

En este tutorial, usaremos la cadena de herramientas de Go para ejecutar, crear e instalar un Hello, World!, lo que le permite utilizar e implementar futuras aplicaciones de forma eficaz.

Prerrequisitos

Para seguir el ejemplo de este artículo, necesitará Go instalado en su sistema:

Instalar y ejecutar Go Binary

Primero, creemos una aplicación para usar como ejemplo para la cadena de herramientas Go. Para hacer esto, usaremos el clásico Hello, World!.

Cree un directorio llamado greeter en su directorio src

mkdir greeter

Luego, cambie al directorio que acaba de crear, con el comando cd, y cree el main.go en el editor de texto de su elección:

cd greeter
nano main.go

Una vez que el archivo esté abierto, agregue el siguiente contenido:

package main

 import "fmt"

 func main() {
 fmt.Println("Hello, World!")
 }
src /greeter /main.go

Cuando se ejecuta, este programa imprimirá la frase Hello, World! en la consola, el programa se cerrará correctamente.

Guardar y salir del archivo.

Para probar el programa, use el comando go run

go run main.go

Recibirá el siguiente resultado:

Hello, World!

Como se mencionó anteriormente, el go run incrustó el archivo fuente en un archivo binario ejecutable y luego ejecutó el programa compilado. Sin embargo, este tutorial tiene como objetivo construir el binario de tal manera que pueda compartirlo y distribuirlo a voluntad. Para hacer esto, usará el go build en el siguiente paso.

Construyendo las pistas con go build

Con go build, puede generar un archivo binario ejecutable para nuestra aplicación Go de muestra, que le permite implementar y desplegar el programa donde quiera.

Pruebe esto con main.go En su greeter, ejecute el siguiente comando:

go build

Si no proporciona un argumento a este comando, go build automáticamente el programa en el directorio main.go El comando incluirá todos sus *.go en el directorio. También construirá todo el código de soporte necesario para poder ejecutar el binario en cualquier computadora con la misma arquitectura de sistema, independientemente de si ese sistema tiene los .go o incluso una instalación de Go.

En este caso, la greeter se creó en un archivo ejecutable que se agregó al directorio actual. Verifique esto ejecutando el comando ls

ls

Si está ejecutando macOS o Linux, encontrará un nuevo ejecutable que lleva el nombre del directorio donde creó su programa:

greeter main.go
Nota:greeter.exe

De forma predeterminada, go build generará un ejecutable para la plataforma y arquitectura actuales. Por ejemplo, si está construido en un linux/386, el ejecutable será compatible con cualquier otro linux/386, incluso si Go no está instalado.

Ahora que ha creado su ejecutable, ejecútelo para asegurarse de que el binario se haya creado correctamente. En macOS o Linux, ejecute el siguiente comando:

./greeter

En Windows, ejecute:

greeter.exe

La salida binaria coincidirá con la salida cuando ejecutó el programa con go run:

Hello, World!

Ahora ha creado un único binario ejecutable que contiene, no solo su programa, sino todo el código del sistema necesario para ejecutar ese binario. Ahora puede implementar este programa en nuevos sistemas o implementarlo en un servidor, sabiendo que el archivo siempre ejecutará el mismo programa.

En la siguiente sección, este tutorial explicará cómo se llama un binario y cómo puede cambiarlo, para que pueda tener un mejor control sobre el proceso de compilación de su programa.

Cambiar el nombre binario

Ahora que sabe cómo generar un ejecutable, el siguiente paso es identificar cómo Go elige un nombre para el binario y personalizar este nombre para su proyecto.

Al ejecutar go build, el valor predeterminado es Go para decidir automáticamente el nombre del ejecutable generado. Lo hace de dos formas: si está utilizando módulos Go, Go utilizará la última parte del nombre de su módulo; de lo contrario, Go utilizará el nombre del directorio actual. Este es el método utilizado en la última sección, cuando greeter, se modificó en él y luego se ejecutó go build.

Echemos un vistazo más de cerca al método de formulario. Si había un go.mod en el proyecto con una module como la siguiente:

module github.com/noviello/shark
go.mod

Entonces, el nombre predeterminado para el ejecutable generado sería shark.

En programas más complejos que requieren convenciones de nomenclatura específicas, estos valores predeterminados no siempre serán la mejor opción para nombrar su binario. En tales casos, sería mejor personalizar la salida con el indicador -o

Para probarlo, cambie el nombre del archivo ejecutable que creó en la última sección a hello y colóquelo en una subcarpeta llamada bin. No es necesario crear esta carpeta, Go lo hará por sí mismo durante el proceso de compilación.

Ejecute el go build con el indicador -o

go build -o bin/hello

El -o hace que Go haga coincidir la salida del comando con los argumentos que elija. En este caso, el resultado es un nuevo ejecutable llamado hello en una subcarpeta llamada bin.

Para probar el nuevo ejecutable, cambie al nuevo directorio y ejecute el binario:

cd bin
./hello

Recibirá el siguiente resultado:

Hello, World!

Ahora puede personalizar el nombre de su ejecutable para que se adapte a las necesidades de su proyecto. Pero con go build, todavía está limitado a ejecutar su binario desde el directorio actual. Para usar los ejecutables desde cualquier lugar del sistema, puede instalarlo usando go install.

Instale los programas Go con go install

Hasta ahora en este artículo, hemos discutido cómo generar binarios ejecutables a partir de nuestros archivos fuente .go Estos ejecutables son útiles para distribuir y probar, pero aún no se pueden ejecutar fuera de sus directorios de origen. Esto sería un problema si desea utilizar activamente el programa, por ejemplo, si ha desarrollado una herramienta de línea de comandos para ayudar con el flujo de trabajo en su sistema. Para facilitar el uso de los programas, puede instalarlos en su sistema y acceder a ellos desde cualquier lugar.

Para entender lo que esto significa, usaremos el go install para instalar la aplicación de muestra.

El go install comporta de manera casi idéntica a go build, pero en lugar de dejar el ejecutable en el directorio actual o en un directorio especificado por la -o, coloca el ejecutable en el $GOPATH/bin.

Para encontrar dónde está su $GOPATH, ejecute el siguiente comando:

go env GOPATH

La salida recibida variará, pero el valor predeterminado es el go dentro del directorio $HOME

$HOME/go

Dado que go install colocará los ejecutables generados en un subdirectorio de $GOPATH llamado bin, este directorio debe agregarse a la $PATH entorno $ PATH.

Con el directorio configurado en $GOPATH/bin, regrese al directorio de greeter

cd..

Ahora ejecute el comando de instalación:

go install

Esto construirá su binario y lo insertará en $GOPATH/bin. Para verificar esto, haga lo siguiente:

ls $GOPATH/bin

Esto mostrará el contenido de $GOPATH/bin:

greeter
Nota:comandogo install-o

Con el binario instalado, compruebe si el programa se ejecutará desde fuera del directorio de origen. Regrese a su directorio personal:

cd $HOME

Utilice lo siguiente para ejecutar el programa:

greeter

Esto producirá lo siguiente:

Hello, World!

Ahora puede tomar los programas que escribe e instalarlos en su sistema, lo que le permite usarlos en cualquier lugar, cuando los necesite.

Conclusión

En este tutorial, aprendió cómo la cadena de herramientas de Go facilita la creación de binarios ejecutables a partir del código fuente. Estos binarios se pueden distribuir para ejecutarse en otros sistemas, incluso aquellos que no tienen herramientas y entornos Go. Además, go install crea e instala automáticamente nuestros programas como archivos ejecutables en los sistemas $PATH Con go build and go install, ahora tiene la capacidad de compartir y usar su aplicación a voluntad.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.