Der PHP-Editor Zimo führt Sie in der Datei go.sum in die Verwendung der Befehle „go get“ und „go install“ in der Go-Sprache ein. In Go-Sprachprojekten wird die Datei go.sum verwendet, um die Pakete und ihre Versionsinformationen aufzuzeichnen, von denen das Projekt abhängt, und so die Stabilität und Konsistenz des Projekts während des Erstellungs- und Bereitstellungsprozesses sicherzustellen. Wenn Sie die Auswirkungen der Befehle „go get“ und „go install“ auf die Datei go.sum verstehen, können Sie Projektabhängigkeiten besser verwalten und steuern sowie die Entwicklungseffizienz und Codequalität verbessern. Lassen Sie uns gemeinsam die spezifische Verwendung dieser beiden Befehle lernen!
Ich verwende Go 1.20.3
Ich habe dieses Paket gerade mit „go get“ und „go install“ installiert
go get -v github.com/mactsouk/go/simplegithub go install github.com/mactsouk/go/simplegithub
Meine go.sum-Datei enthält:
github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd h1:tqjgx/jaxlj3rnl7ps7xzqlvth8rl/dusa8wpe9w4y0= github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd/go.mod h1:trtlpc1xi1zoqdba/cixgds+fcaizdqupmrflet5dbi=
go.mod-Datei ist:
module calculator go 1.20 require github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd // indirect
In meinem $home/go/pkg/mod/github.com/mactsouk/ aod
dr-xr-xr-x 5 user staff 160 jul 4 18:42 [email protected]
Auf $home/go/bin/ gibt es nichts, nur zwei Dateien. Warum kopiert go install nicht die Binärdateien des simplegithub-Moduls?
drwxr-xr-x 4 user staff 128 Jun 26 23:37 . drwxr-xr-x 4 user staff 128 Jun 26 23:35 .. -rwxr-xr-x 1 user staff 3410064 Jun 26 23:35 go-outline -rwxr-xr-x 1 user staff 28237216 Jun 26 23:37 gopls
Gibt es einen Unterschied zwischen Go Get und Go Install? Warum habe ich diese Moduldatei zweimal auf go.sum?
Holen Sie sich die Lösung und installieren Sie sie
Die Befehlego get und go install in Go haben unterschiedliche Verwendungszwecke:
go get wird zum Abrufen und Herunterladen von Paketen und ihren Abhängigkeiten aus Remote-Repositorys verwendet. Es aktualisiert die Dateien go.mod und go.sum mit der Version des heruntergeladenen Pakets. Wenn das Paket bereits vorhanden ist, aktualisiert go get es auf die neueste Version.
go install Kompilieren und installieren Sie das Paket im GOPATH oder GOBIN des Projekts. Die Dateien go.mod oder go.sum werden nicht aktualisiert. Stattdessen werden die Informationen in diesen Dateien verwendet, um die richtige Version der zu verwendenden Abhängigkeit zu ermitteln.
Wenn Sie in Ihrem Fall go get ausführen, werden das Paket github.com/mactsouk/go/simpleGitHub und seine Abhängigkeiten heruntergeladen und installiert. Diese Aktion aktualisiert die Dateien go.mod und go.sum mit der Version des heruntergeladenen Pakets.
Wenn Sie anschließend go install für dasselbe Paket ausführen, müssen Sie das Paket nicht erneut herunterladen, da es bereits im lokalen Go-Modul-Cache vorhanden ist. Daher verwendet go install das vorhandene Paket und seine Version im Cache und ändert die Dateien go.mod oder go.sum nicht.
Der Grund, warum dieses Modul in der Datei go.sum zweimal aufgeführt ist, liegt darin, dass es die Modulversion (v0.0.0-20180603081621-6a282087f7bd) und die entsprechende go.mod-Datei enthält, die die Prüfsumme enthält. Dies ist das erwartete Verhalten und stellt die Abhängigkeitsintegrität sicher.
Zusammenfassend lässt sich sagen, dass Go Get und Go Install unterschiedliche Zwecke haben. Es ist normal, dass Module in der Datei go.sum wiederholt werden.
Das obige ist der detaillierte Inhalt vonHolen Sie sich und installieren Sie die Datei go.sum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!