Lade Go von go.dev/dl herunter, führ das Installationsprogramm für dein System aus, öffne ein neues Terminal und führ go version aus. Unter Windows und macOS ist das die ganze Installation. Unter Linux entpackst du ein Tarball und fügst deinem PATH ein Verzeichnis hinzu. Die Abschnitte unten behandeln jedes System, dann die Prüfungen und die Fehler, auf die man tatsächlich stößt.
Zum Ausprobieren musst du Go nicht installieren. Dieses Programm läuft in deinem Browser, auf derselben Go-Release, die die Website nutzt, und meldet, worauf es läuft:
Sobald Go lokal installiert ist, gibt dasselbe Programm die Details deines eigenen Rechners aus.
Welcher Download der richtige ist
Die Download-Seite listet eine Datei pro Betriebssystem und CPU-Architektur:
| System | Datei | Hinweise |
|---|---|---|
| Windows, die meisten PCs | go1.24.5.windows-amd64.msi | amd64 bedeutet 64-Bit Intel oder AMD |
| Windows auf ARM | go1.24.5.windows-arm64.msi | Surface Pro X, Laptops mit Snapdragon |
| macOS, Apple Silicon (M1 und neuer) | go1.24.5.darwin-arm64.pkg | darwin ist macOS |
| macOS, Intel | go1.24.5.darwin-amd64.pkg | |
| Linux, die meisten Server und PCs | go1.24.5.linux-amd64.tar.gz | |
| Linux auf ARM | go1.24.5.linux-arm64.tar.gz | Raspberry Pi 4 und 5 mit 64-Bit-Betriebssystem, AWS Graviton |
Die Versionsnummer in diesen Beispielen ist 1.24.5. Nimm die jeweils neueste stabile Release; die Schritte ändern sich zwischen den Versionen nicht.
Go unter Windows installieren
- Lade die
.msi-Datei herunter und führ sie aus. - Übernimm die Standardeinstellungen. Go wird nach
C:\Program Files\Goinstalliert, und das Installationsprogramm fügtC:\Program Files\Go\bindeinemPATHhinzu. - Schließ alle offenen Fenster von Eingabeaufforderung oder PowerShell und öffne ein neues. Terminals, die während der Installation offen waren, haben noch den alten
PATH. - Prüf die Installation:
go version
go version go1.24.5 windows/amd64
Wenn dir ein Paketmanager lieber ist, funktioniert auch winget:
winget install GoLang.Go
Go unter macOS installieren
Mit dem offiziellen Paket
Lade das .pkg für deinen Chip herunter und öffne es. Es installiert Go nach /usr/local/go und fügt /usr/local/go/bin über die Datei /etc/paths.d/go deinem PATH hinzu. Öffne ein neues Terminal-Fenster, dann:
go version
go version go1.24.5 darwin/arm64
Mit Homebrew
brew install go
go version
Homebrew legt Go unter sein eigenes Präfix (/opt/homebrew auf Apple Silicon) und verlinkt go in ein Verzeichnis, das schon in deinem PATH liegt. Später aktualisierst du mit brew upgrade go.
Entscheide dich für eine Methode. Hast du sowohl das .pkg als auch Homebrew installiert, liegen zwei go-Binaries in deinem PATH, und das zuerst gefundene gewinnt. which go sagt dir, welches deine Shell benutzt.
Go unter Linux und Ubuntu installieren
Die offizielle Methode funktioniert auf jeder Distribution. Entferne zuerst jede vorherige Installation, denn wer über einen alten Baum entpackt, mischt Dateien aus zwei Versionen und macht die Toolchain kaputt:
cd ~/Downloads
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz
Füg Go dann deinem PATH hinzu. Häng diese Zeile an ~/.profile (bash) oder ~/.zshrc (zsh) an:
export PATH=$PATH:/usr/local/go/bin
Lade sie in die aktuelle Shell und prüf:
source ~/.profile
go version
go version go1.24.5 linux/amd64
Ubuntu-Pakete: apt und snap
Ubuntu bietet zwei Abkürzungen mit unterschiedlichen Kompromissen:
# Distribution package: easy, but usually several releases old
sudo apt install golang-go
# Snap: tracks current Go releases
sudo snap install go --classic
Die Version von apt ist wichtiger, als es aussieht. Module geben in go.mod eine minimale Go-Version an. Ab Go 1.21 baut ein Modul mit go 1.23 nicht mit einer älteren Toolchain, außer Go kann eine neuere für dich herunterladen, und Toolchains älter als 1.21 versuchen den Build trotzdem und scheitern am ersten neueren Feature, auf das sie stoßen (siehe „Go aktuell halten“ unten). Installierst du aus apt, führ go version aus und vergleiche mit go.dev/dl.
Die Installation prüfen
Drei Befehle bestätigen ein funktionierendes Setup:
go version
go env GOROOT GOPATH
which go
go version go1.24.5 linux/amd64
/usr/local/go
/home/ana/go
/usr/local/go/bin/go
GOROOTist der Ort, an dem Go selbst installiert ist. Leg dort nie eigenen Code ab, und setzen musst du es normalerweise nicht.GOPATHist standardmäßig$HOME/go(%USERPROFILE%\gounter Windows). Go speichert heruntergeladene Module in$GOPATH/pkg/modund legt Programme, diego installbaut, in$GOPATH/binab.which go(where gounter Windows) zeigt genau das Binary, das deine Shell ausführt. Nutz es immer, wenngo versioneine Version meldet, die du nicht erwartet hast.
Dein erstes Programm ausführen
Dein Code kann in jedem Verzeichnis liegen. Leg einen Ordner an, starte ein Modul und schreib eine Datei:
mkdir hello
cd hello
go mod init example.com/hello
go: creating new go.mod: module example.com/hello
Speichere das als main.go in diesem Ordner:
Dann führ es aus:
go run .
Go is installed and working.
go run . kompiliert das Paket im aktuellen Verzeichnis und führt es aus. Die Seite zu Hello World erklärt jede Zeile des Programms, und den Schritt go mod init behandelt die Seite zu Go-Modulen.
GOPATH/bin zum PATH hinzufügen
Tools, die du mit go install installierst, landen in $HOME/go/bin, und das liegt standardmäßig nicht in deinem PATH. Installierst du ein Tool und die Shell findet es nicht, füg auch dieses Verzeichnis hinzu:
go install golang.org/x/tools/cmd/goimports@latest
export PATH=$PATH:$(go env GOPATH)/bin
goimports -h
Schreib die export-Zeile in ~/.profile oder ~/.zshrc, damit sie in neuen Terminals erhalten bleibt. Unter Windows fügt das Installationsprogramm %USERPROFILE%\go\bin bereits deinem Benutzer-PATH hinzu.
Go aktuell halten
Zum Aktualisieren installierst du die neue Release auf dieselbe Weise wie die alte. Unter Linux heißt das, die Schritte mit rm -rf /usr/local/go und tar zu wiederholen; lass das Entfernen nicht aus.
Seit Go 1.21 kann der Befehl go auch bei Bedarf eine neuere Toolchain holen. Steht in der go.mod eines Moduls go 1.24 und du hast Go 1.22 installiert, lädt go build Go 1.24 in den Modul-Cache herunter und verwendet es, solange GOTOOLCHAIN auf dem Standardwert auto steht. Dein installiertes Go bleibt unverändert; nur dieses Modul wird mit der neueren Release gebaut.
Um zum Testen eine ältere Version zu behalten, installier sie parallel:
go install golang.org/dl/go1.23.4@latest
go1.23.4 download
go1.23.4 version
Häufige Fehler bei der Installation
go: command not found oder zsh: command not found: go. Die Shell findet das Binary nicht. Prüf unter Linux, dass /usr/local/go/bin in der Zeile export PATH der Datei steht, die deine Shell tatsächlich liest (~/.zshrc für zsh, ~/.profile oder ~/.bashrc für bash), und öffne dann ein neues Terminal. Mit echo $PATH siehst du, was die Shell hat.
'go' is not recognized as an internal or external command (Windows). Schließ das Terminal und öffne es neu. Bleibt der Fehler, öffne „Systemumgebungsvariablen bearbeiten“, klick auf „Umgebungsvariablen“ und stell sicher, dass C:\Program Files\Go\bin in Path steht. Das eingebaute Terminal von VS Code erbt die Umgebung, mit der VS Code gestartet wurde, also starte auch VS Code neu.
go version zeigt nach einem Update die alte Version. Zwei Installationen liegen in deinem PATH. Führ which -a go aus (oder where go unter Windows) und entferne die, die du nicht willst, oft ein apt-Paket unter /usr/bin/go, das /usr/local/go/bin/go verdeckt.
go: go.mod file not found in current directory or any parent directory. Go ist korrekt installiert; du hast go build oder go run . außerhalb eines Moduls ausgeführt. Führ zuerst go mod init example.com/yourname im Projektordner aus.
Seltsame Compilerfehler in der Standardbibliothek nach einem Update unter Linux. Das neue Tarball wurde über den alten Baum entpackt. Lösch /usr/local/go vollständig und entpacke erneut.
Permission denied beim Entpacken. /usr/local gehört root, also brauchen die Befehle rm und tar ein sudo. Dein eigener Code braucht nie sudo.
Editor einrichten
Jeder Editor funktioniert, aber installier die Go-Unterstützung, damit du Vervollständigung, Fehlermarkierung und Formatierung beim Speichern bekommst. In VS Code installierst du die offizielle Go-Erweiterung (herausgegeben vom Go-Team bei Google); sie bietet beim ersten Öffnen einer .go-Datei an, gopls zu installieren, den Go Language Server. GoLand von JetBrains ist die wichtigste kommerzielle Option. Vim und Neovim nutzen gopls über ihre LSP-Clients.
Häufig gestellte Fragen
Wie installiere ich Golang?
Lade das Installationsprogramm für dein System von go.dev/dl herunter. Unter Windows führst du die .msi aus, unter macOS das .pkg (oder brew install go), und unter Linux entpackst du das Tarball nach /usr/local und fügst /usr/local/go/bin deinem PATH hinzu. Öffne ein neues Terminal und führ zur Bestätigung go version aus.
Wie behebe ich „go: command not found“?
Die Shell findet das Binary go nicht in deinem PATH. Unter Linux fügst du export PATH=$PATH:/usr/local/go/bin in ~/.profile ein (oder in ~/.zshrc für zsh) und öffnest dann ein neues Terminal. Bei den Installationsprogrammen für Windows und macOS reicht meist, das Terminal zu schließen und neu zu öffnen, weil ein Terminal den PATH behält, mit dem es gestartet wurde.
Wie installiere ich Go unter Ubuntu?
Nimm das offizielle Tarball: sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz, dann füg /usr/local/go/bin zum PATH hinzu. sudo apt install golang-go funktioniert auch, aber das Ubuntu-Paket hinkt oft mehrere Releases hinterher. sudo snap install go --classic folgt den aktuellen Releases.
Muss ich GOPATH setzen?
Nein. Seit Go 1.16 ist der Modulmodus Standard, also kann dein Code in jedem Verzeichnis liegen. GOPATH ist standardmäßig $HOME/go und wird nur für den Download-Cache der Module und für Binaries genutzt, die go install baut und die in $HOME/go/bin landen.
Wie prüfe ich, welche Go-Version installiert ist?
Führ go version aus. Es gibt etwas wie go version go1.24.5 linux/amd64 aus: die Release, dann Betriebssystem und CPU-Architektur. go env zeigt die vollständige Konfiguration, einschließlich GOROOT (wo Go installiert ist) und GOPATH.