Heim >Backend-Entwicklung >Golang >Was ist der Unterschied zwischen „go build' und „go install' in Go?

Was ist der Unterschied zwischen „go build' und „go install' in Go?

DDD
DDDOriginal
2024-12-02 18:01:15340Durchsuche

What's the Difference Between `go build` and `go install` in Go?

Was macht Go Install eigentlich?

In der Go-Dokumentation wird der Unterschied zwischen Go Build und Go Install In nicht erklärt Detail. Man könnte erwarten, dass install dem make install-Muster folgt – dass es die kompilierten Artefakte nimmt und sie an ihrem endgültigen vorgesehenen Speicherort platziert. Im Fall von go install werden sie jedoch stattdessen in GOROOT/bin abgelegt.

Go Build vs. Go Install

go build kompiliert ausschließlich die ausführbare Datei und verschiebt es an das angegebene Ziel. Andererseits führt go install zusätzliche Aufgaben aus:

  • Verschiebt die ausführbare Datei nach $GOPATH/bin
  • Zwischenspeichert alle Nicht-Hauptpakete, die in $GOPATH/pkg importiert werden

Die zwischengespeicherten Abhängigkeiten werden dann in nachfolgenden Kompilierungen verwendet, sofern der Quellcode erhalten bleibt unverändert.

Eine Visualisierung des Paketbaums

Um die Ergebnisse der Verwendung von go build und go install zu veranschaulichen:

├── bin
│   └── hello  # by go install
└── src 
    └── hello
        ├── hello  # by go build
        └── hello.go

Hinweis: go build generiert die ausführbare Datei im aktuellen Verzeichnis, während go install sie dort ablegt $GOPATH/bin.

Ausführlichere Informationen und erweiterte Funktionen finden Sie in der offiziellen Go-Dokumentation: [https://go.dev/doc/install/troubleshooting#how-go-install-works]( https://go.dev/doc/install/troubleshooting#how-go-install-works)

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „go build' und „go install' in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn