Lassen Sie uns über den Vendor-Mechanismus in Golang sprechen

PHPz
Freigeben: 2023-04-06 10:39:49
Original
1276 Leute haben es durchsucht

Golang ist eine beliebte Programmiersprache mit leistungsstarken Multithreading-Funktionen und einem effizienten Garbage-Collection-Mechanismus und wird von vielen Entwicklern bevorzugt. Bei der Entwicklung mit Golang müssen Sie häufig auf viele Bibliotheken und Pakete von Drittanbietern verweisen. Derzeit wird der Vendor-Mechanismus zur Verwaltung dieses Prozesses verwendet.

Einführung in den Vendor-Mechanismus

Der Vendor-Mechanismus ist ein Paketverwaltungsmechanismus, der in Golang Version 1.5 eingeführt wurde und darauf abzielt, das Versionskonfliktproblem zu lösen, das auftreten kann, wenn Golang auf Bibliotheken von Drittanbietern verweist. Vor der Verwendung des Vendor-Mechanismus verwendete der Paketverwaltungsmechanismus von Golang hauptsächlich GOPATH, was bedeutet, dass alle Bibliotheken von Drittanbietern zur Verwaltung in dasselbe Verzeichnis heruntergeladen werden.

Bei diesem Mechanismus gibt es jedoch ein Problem: Wenn verschiedene Projekte auf unterschiedliche Versionen derselben Bibliothek verweisen müssen, kann es zu Versionskonflikten kommen, die Entwickler sogar dazu veranlassen, Code hektisch in verschiedene Verzeichnisse zu kopieren, was sehr unpraktisch ist.

Daher wurde in Golang Version 1.5 der Vendor-Mechanismus eingeführt, der es ermöglicht, den Code von Bibliotheken von Drittanbietern direkt in das Code-Repository des Projekts zu kopieren, sodass jedes Projekt seine eigene Version der Bibliothek verwenden kann, ohne von anderen Projekten beeinflusst zu werden . Störungen führen nicht zu unnötigen Abhängigkeitsproblemen.

Installationsprozess des Vendor-Mechanismus

Nachdem Sie die Rolle des Vendor-Mechanismus verstanden haben, erfahren Sie hier, wie Sie die Installation des Vendor-Mechanismus abschließen.

In Versionen vor Golang 1.6 ist der Vendor-Mechanismus standardmäßig deaktiviert. Sie müssen beim Kompilieren des Codes eine Markierung -vendor hinzufügen, um den Vendor-Mechanismus zu aktivieren. Beispiel:

go build -v -vendor
Nach dem Login kopieren

In Golang 1.6 und späteren Versionen ist der Vendor-Mechanismus standardmäßig aktiviert, sodass Sie nur ein Vendor-Verzeichnis im Stammverzeichnis des Projekts erstellen müssen.

Nachdem Sie das Anbieterverzeichnis erstellt haben, können Sie den Befehl „go get“ verwenden, um Bibliotheken von Drittanbietern und deren abhängige Bibliotheken zu installieren. Wenn Sie beispielsweise github.com/go-sql-driver/mysql installieren möchten, können Sie den folgenden Befehl verwenden, um es zu installieren:

GO15VENDOREXPERIMENT=1 go get github.com/go-sql-driver/mysql
Nach dem Login kopieren

Dieser Befehl erstellt ein Verzeichnis github.com/go-sql-driver/mysql im Anbieterverzeichnis, laden Sie alle abhängigen Bibliotheken der Bibliothek herunter und kopieren Sie ihren Code in das Anbieterverzeichnis.

Nach Abschluss der Installation der Drittanbieterbibliothek können Sie den Vendor-Mechanismus verwenden, um Projektabhängigkeiten zu verwalten.

Zusammenfassung

Durch die Verwendung des Vendor-Mechanismus kann das Versionskonfliktproblem in Golang beim Verweisen auf Bibliotheken von Drittanbietern effektiv gelöst werden, sodass jedes Projekt unabhängig seine eigene Version der Bibliothek verwenden kann. Die Installation des Vendor-Mechanismus ist nicht kompliziert. Sie müssen lediglich ein Vendor-Verzeichnis im Stammverzeichnis des Projekts erstellen und den Befehl go get verwenden, um Bibliotheken von Drittanbietern und deren abhängige Bibliotheken zu installieren. Wenn Sie Golang für die Entwicklung verwenden, wird dringend empfohlen, den Vendor-Mechanismus auszuprobieren, der Ihnen ein komfortableres Entwicklungserlebnis bietet.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über den Vendor-Mechanismus in Golang sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage