{"id":153,"date":"2019-12-02T10:54:00","date_gmt":"2019-12-02T13:54:00","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2019\/12\/install-golang-linux\/"},"modified":"2026-09-08T03:04:41","modified_gmt":"2026-09-08T06:04:41","slug":"install-golang-linux","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2019\/12\/install-golang-linux\/","title":{"rendered":"Instalando Golang en Linux"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro pegando um cubo do pacote Go, com o fluxo de build indo para a pasta de sa\u00edda\" src=\"\/wp-content\/uploads\/2026\/09\/install-golang-linux-v3.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Nota (2026):<\/strong> La entrada original ped\u00eda un gist como root, la carpeta <code data-no-translation=\"\">~\/GO<\/code> y la variable PATH en <code data-no-translation=\"\">\/etc\/profile<\/code>. Esto es de 2019. A continuaci\u00f3n: tarball oficial de go.dev (serie Go 1.27, publicada en agosto de 2026), snap y apt \u2014 con <code data-no-translation=\"\">go.mod<\/code>, sin GOPATH artesanal.<\/div>\n<p>Go naci\u00f3 en Google en 2007 (Pike, Thompson, Griesemer) y se convirti\u00f3 en open source en 2009 \u2014 contamos esa saga en <a href=\"\/es\/2026\/09\/a-historia-da-linguagem-go\/\">La historia del lenguaje Go<\/a>. Compila r\u00e1pido, genera un binario, concurrencia con goroutine. Docker, Kubernetes, Terraform: Go. En 2019 este howto descargaba un script. En 2026 la v\u00eda oficial es el tarball de <a href=\"https:\/\/go.dev\/dl\/\">go.dev\/dl<\/a>.<\/p>\n<p><!-- more --><\/p>\n<h2>Tarball oficial (recomendado)<\/h2>\n<p>Descarga la versi\u00f3n estable del momento, comprueba la arquitectura e instala en <code data-no-translation=\"\">\/usr\/local\/go<\/code>. No extraigas encima de un \u00e1rbol antiguo \u2014 el propio Go pide borrar antes:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">VER=$(curl -fsSL 'https:\/\/go.dev\/VERSION?m=text' | head -n1)\ncase $(uname -m) in\n  x86_64)  GOARCH=amd64 ;;\n  aarch64) GOARCH=arm64 ;;\n  *) echo \"arch n\u00e3o suportada\"; exit 1 ;;\nesac\ncd \/tmp\ncurl -fLO \"https:\/\/go.dev\/dl\/${VER}.linux-${GOARCH}.tar.gz\"\nsudo rm -rf \/usr\/local\/go\nsudo tar -C \/usr\/local -xzf \"${VER}.linux-${GOARCH}.tar.gz\"\n<\/code><\/pre>\n<p>PATH en su usuario, no en <code data-no-translation=\"\">\/etc\/profile<\/code> de root:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">echo 'export PATH=$PATH:\/usr\/local\/go\/bin' &gt;&gt; ~\/.profile\necho 'export PATH=$PATH:$(go env GOPATH)\/bin' &gt;&gt; ~\/.profile\nsource ~\/.profile\ngo version\n<\/code><\/pre>\n<p>El GOPATH por defecto ya es <code data-no-translation=\"\">~\/go<\/code>. No necesita <code data-no-translation=\"\">mkdir ~\/GO<\/code>. El checksum SHA-256 de cada archivo est\u00e1 en <a href=\"https:\/\/go.dev\/dl\/\">go.dev\/dl<\/a>. A partir del 1.21 el toolchain puede descargar por s\u00ed solo una versi\u00f3n m\u00e1s nueva si el <code data-no-translation=\"\">go.mod<\/code> pide (<code data-no-translation=\"\">GOTOOLCHAIN<\/code>).<\/p>\n<h2>Snap y apt<\/h2>\n<p>Si quiere el paquete de la distro, sepa que va por detr\u00e1s de la upstream. Ubuntu 24.04 empaqueta m\u00e1s o menos la 1.22; el snap de Canonical va mejor:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># snap (cl\u00e1ssico, atualiza sozinho)\nsudo snap install go --classic\ngo version\n\n# apt (est\u00e1vel da distro, costuma ser mais velho)\nsudo apt update\nsudo apt install -y golang-go git\ngo version\n<\/code><\/pre>\n<p>No mezcle snap, apt y <code data-no-translation=\"\">\/usr\/local\/go<\/code> en el mismo PATH. Elija uno. PPA <code data-no-translation=\"\">longsleep\/golang-backports<\/code> todav\u00eda existe para Ubuntu LTS, si el apt de la caja es demasiado antiguo.<\/p>\n<h2>Hola, m\u00f3dulo<\/h2>\n<p>Desde el 1.16 el m\u00f3dulo es el predeterminado. Nada de <code data-no-translation=\"\">GOPATH\/src\/github.com\/...<\/code>:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">mkdir -p ~\/src\/hello &amp;&amp; cd ~\/src\/hello\ngo mod init hello\nprintf 'package mainnimport \"fmt\"nfunc main() { fmt.Println(\"ol\u00e1, linuxpro\") }n' &gt; hello.go\ngo run .\n<\/code><\/pre>\n<p>Los gen\u00e9ricos existen desde 1.18 \u2014 el texto de 2019 dec\u00eda que no. El gist del post original (<a href=\"https:\/\/gist.github.com\/jniltinho\/8758e15a9ef80a189fce\">jniltinho\/8758e15a9ef80a189fce<\/a>) queda como reliquia: no ejecutes scripts de gist como root en 2026.<\/p>\n<h2>Cierre<\/h2>\n<p>Un tarball, un PATH, un <code data-no-translation=\"\">go mod init<\/code>. El lenguaje que la lista de 2017 todav\u00eda calificaba como \u201cd\u00e9bil en Brasil\u201d es el de la infra. El mapa: <a href=\"\/es\/2017\/05\/linguagens-de-programacao\/\">Las 7 principales lenguajes<\/a>. El howto de 2017, hermano mayor de este: <a href=\"\/es\/2017\/05\/instalando-golang-no-linux\/\">Instalando Golang en Linux<\/a>.<\/p>\n<p>Go instalado, mira el lenguaje en acci\u00f3n aqu\u00ed en el blog \u2014 dos proyectos nuestros escritos en Go: <a href=\"\/es\/2026\/09\/go-imapsync\/\">go-imapsync<\/a> (migraci\u00f3n de buzones IMAP en un \u00fanico binario) y <a href=\"\/es\/2026\/09\/go-postfixadmin\/\">go-postfixadmin<\/a> (panel moderno para Postfix).<\/p>\n<p>Documentaci\u00f3n: <a href=\"https:\/\/go.dev\/doc\/install\">go.dev\/doc\/install<\/a> \u00b7 tour: <a href=\"https:\/\/go.dev\/tour\/\">go.dev\/tour<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Go nasceu no Google em 2007 (Pike, Thompson, Griesemer) e virou open source em 2009 \u2014 contamos essa saga em A hist\u00f3ria da linguagem Go. Compila r\u00e1pido, gera um bin\u00e1rio, concorr\u00eancia com goroutine. Docker, Kubernetes, Terraform: Go. Em 2019 este &#8230; <a title=\"Instalando Golang en Linux\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2019\/12\/install-golang-linux\/\" aria-label=\"Leer m\u00e1s sobre Instalando Golang no Linux\">Leer m\u00e1s<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[29,31,32,30],"class_list":["post-153","post","type-post","status-publish","format-standard","hentry","category-dicas","tag-blog","tag-golang","tag-static-site","tag-zola"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":7,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":1093,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/153\/revisions\/1093"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}