Bereitstellen von Google Cloud-Funktionen mit Go-Modulen in Go 1.11
Go-Module bieten einen modernisierten Ansatz für das Abhängigkeitsmanagement für Go-Projekte. Bei der Bereitstellung von Google Cloud Functions mit Go 1.11 unter Verwendung von Go-Modulen treten jedoch bestimmte Herausforderungen auf.
Herausforderung: Inkompatible Modulauflösung
Der Function Builder bevorzugt Module gegenüber Anbieterabhängigkeiten. Wenn jedoch eine Funktion bereitgestellt wird, die auf ein Modul in einem übergeordneten Verzeichnis verweist (z. B. mithilfe einer Ersetzungsanweisung), schlägt der Builder fehl, da das Modul nicht in der isolierten Umgebung der Funktion gefunden wird.
Lösung: Anbieter- und Ausschlussmodule
Um dieses Problem zu beheben, wird empfohlen, Anbieterabhängigkeiten anstelle von Modulen zu verwenden. Darüber hinaus sollten die Dateien go.mod und go.sum während des Bereitstellungsprozesses ausgeschlossen werden.
Dies kann durch Erstellen einer .gcloudignore-Datei im Verzeichnis der Funktion erreicht werden, wie in der Dokumentation von Google beschrieben:
.gcloudignore go.mod go.sum
Durch Ignorieren dieser Dateien schließt der Function Builder sie aus dem Bereitstellungspaket aus und stellt so sicher, dass vom Anbieter bereitgestellte Abhängigkeiten anstelle von Modulen verwendet werden.
Hinweis: Stellen Sie sicher, dass die Option „go Die Befehle „Mod Vendor“ und „Go Mod Verify“ werden vor der Bereitstellung lokal erfolgreich abgeschlossen, um zu überprüfen, ob alle Abhängigkeiten korrekt bereitgestellt werden.
Das obige ist der detaillierte Inhalt vonSo stellen Sie Google Cloud-Funktionen mit Go-Modulen in Go 1.11 bereit: Abhängigkeitskonflikte lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!