Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep

Freigeben: 2023-07-21 13:13:46
nach vorne
1400 Leute haben es durchsucht
<br>

Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep

„Das Lesen dieses Artikels dauert etwa 3,4 Minuten“

Eines der von vielen Entwicklern in den frühen Tagen von Golang kritisierten Probleme war die Verwaltung abhängiger Pakete. Vor der Veröffentlichung von Golang 1.5 konnte dieses Problem nur durch Festlegen mehrerer GOPATHs gelöst werden. Beispielsweise waren meine beiden Projekte von Beego abhängig, Projekt A jedoch von <span style="color: rgb(217, 72, 99);">Beego1.1<code style="font-size: 14px;"><span style="color: rgb(217, 72, 99);">Beego1.1</span>,B工程依赖的是<span style="color: rgb(217, 72, 99);">Beego1.7</span>,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。终于终于在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖查询,那就是<span style="color: rgb(217, 72, 99);">vender</span>于是很多大佬开始造轮子,造得比较好的应该是<span style="color: rgb(217, 72, 99);">dep</span><span style="color: rgb(217, 72, 99);">glide</span>

主角出场

    今天的主角是dep,Golang的官方依赖工具,用来管理和下载工程依赖的工具,以下是官方的介绍

dep is a prototype dependency management tool for Go. It requires Go 1.9 or newer to compile. dep is safe for production use.

安装

  • MacOS  <span style="color: rgb(217, 72, 99);">brew install dep</span>

  • Linux <span style="color: rgb(217, 72, 99);">curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh</span>

  • Windows   go get -u github.com/golang/dep/cmd/dep

    Windows得自己编译,并且确认把 $GOPATH/bin 添加到环境变量<span style="color: rgb(217, 72, 99);">$PATH</span>,

    B-Projekt hängt von 🎜🎜<span ab style="color: rgb(217, 72, 99);">Beego1.7🎜</span>🎜,🎜Ich muss zwei GOPATH festlegen, um zu unterscheiden, und der GOPATH muss auch beim Wechseln von Projekten verwendet werden. Das Wechseln ist äußerst schmerzhaft . Schließlich begann die Golang-Version 1.5, andere Abhängigkeitsabfragen als GOROOT und GOPATH zu unterstützen, d. >vender🎜🎜,🎜So viele große Leute haben angefangen, Räder herzustellen, und die besseren sollten es sein🎜🎜<span style="color: rgb (217 , 72, 99);">dep🎜</span>🎜🎜 und 🎜🎜<span style="color: rgb(217, 72, 99); "> gleiten🎜</span>🎜. 🎜

    Protagonist erscheint

    🎜🎜 Der heutige Protagonist ist🎜🎜dep 🎜🎜🎜, Golangs offizielles Abhängigkeitstool, ein Tool zum Verwalten und Herunterladen von Projektabhängigkeiten. Das Folgende ist die offizielle Einführung🎜🎜
    🎜dep ist ein Prototyp eines Abhängigkeitsverwaltungstools für Go. Zum Kompilieren ist Go 1.9 oder neuer erforderlich. dep ist sicher für den Produktionsgebrauch.🎜

    Installation

    • 🎜🎜MacOS🎜 🎜 brew install dep🎜🎜🎜
    • 🎜🎜 Linux 🎜🎜<span style="color: rgb(217, 72, 99);">curl https://raw.githubusercontent.com/golang/dep/master / install.sh |. sh🎜</span>🎜🎜
    • 🎜🎜Windows🎜 🎜go get -u github.com/golang/dep/cmd/dep🎜🎜🎜

      Windows muss es selbst kompilieren und bestätigen 🎜$GOPATH/bin🎜🎜 Hinzufügen zu Umgebungsvariablen🎜<span style="color: rgb(217, 72, 99);">$PATH🎜</span>🎜Down🎜

    Überprüfen

    Geben Sie dep<span style="color: rgb(217, 72, 99);">dep</span>并回车,会出现以下提示的话,说明已经安装成功了。

    Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep

    <br>

    功能介绍

    1.dep init<br>    备份当前的<span style="color: rgb(199, 37, 78);">vender</span>,创建<span style="color: rgb(61, 69, 76);">vender</span>目录并下载项目中的所有依赖包,生成<span style="color: rgb(199, 37, 78);">Gopkg.lock</span><span style="color: rgb(199, 37, 78);">Gopkg.toml</span>以下是两个文件的作用说明,简单讲<span style="color: rgb(199, 37, 78);">Gopkg.toml</span>是清单文件,Gopkg.lock是校验描述文件。尽量不要修改,避免造成两个文件不同步的错误。

    A manifest - a file describing the current project’s dependency requirements. In dep, this is the Gopkg.toml file.<br>A lock - a file containing a transitively-complete, reproducible description of the dependency graph. In dep, this is the Gopkg.lock file.

    Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep

    <br>

    2.dep status

        用来查看项目依赖的详细信息和状态,非常清晰。 

    Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep

    3.dep ensure<br>    尝试确保所有的依赖库都已经安装,如果没有即下载,相当于对依赖库做增量更新。

    <br>

    4.dep ensure add   github.com/RoaringBitmap/roaring@^1.0.1 in den Befehl ein Zeile und drücken Sie die Eingabetaste. Die folgende Eingabeaufforderung wird angezeigt und zeigt an, dass die Installation erfolgreich war.

    🎜🎜🎜🎜🎜

    Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep🎜🎜🎜🎜<br>🎜🎜Funktionseinführung🎜

    🎜1.dep init🎜🎜<br>🎜 Sichern Sie die aktuelle 🎜🎜<span style="color: rgb(199, 37, 78);">vender🎜</span>🎜🎜, erstellen 🎜🎜vender🎜 code >🎜 Verzeichnis und laden Sie alle abhängigen Pakete im Projekt herunter, generieren Sie 🎜🎜<code style="font-size: 14px;"><span style="color: rgb(199, 37, 78);">Gopkg.lock 🎜 </span>🎜🎜 und 🎜🎜<span style="color: rgb(199, 37, 78);">Gopkg.toml🎜</span>🎜 🎜 Das Folgende ist eine kurze Beschreibung der Funktionen der beiden Dateien 🎜🎜<span style="color: rgb(199, 37, 78);">Gopkg .toml🎜 code>🎜🎜 ist die Manifestdatei, 🎜<span style="color: rgb(199, 37, 78);">🎜<code style="font-size: 14px;">Gopkg.lock 🎜🎜 🎜 ist die Verifizierungsbeschreibungsdatei. Versuchen Sie, es nicht zu ändern, um Fehler zu vermeiden, die dazu führen, dass die beiden Dateien nicht synchron sind. 🎜🎜

    Ein Manifest – eine Datei, die die Abhängigkeitsanforderungen des aktuellen Projekts beschreibt. In dep ist dies die Datei Gopkg.toml. <br>Eine Sperre – eine Datei, die eine transitiv vollständige, reproduzierbare Beschreibung des Abhängigkeitsdiagramms enthält. In dep ist dies die Gopkg.lock-Datei.🎜

    🎜🎜🎜🎜Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep🎜

    🎜 🎜🎜<br>🎜

    🎜2.dep status🎜🎜🎜

    🎜 Verwendung Es ist sehr übersichtlich, detaillierte Informationen und den Status der Projektabhängigkeiten anzuzeigen. 🎜 🎜

    Ja, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep🎜

    🎜🎜🎜🎜

    🎜3.dep sicherstellen🎜🎜<br>🎜 Versuchen Sie sicherzustellen, dass alle abhängigen Bibliotheken installiert wurden. Wenn nicht, laden Sie sie herunter entspricht der Überprüfung der Abhängigkeiten. Die Bibliothek wird inkrementell aktualisiert. 🎜🎜

    🎜<br>🎜🎜🎜

    🎜4.dep Stellen Sie sicher, dass Sie github.com/RoaringBitmap/roaring@^1.0.1 hinzufügen 🎜🎜🎜

    Laden Sie neue abhängige Bibliotheken herunter, fügen Sie sie hinzu und aktualisieren Sie die Manifestdatei und die Überprüfungsbeschreibungsdatei schrittweise. github.com/RoaringBitmap/roaringgithub.com/RoaringBitmap/roaring 是依赖库的包名,1.0.1是库的版本号。

    本地缓存

    <span style="color: rgb(61, 69, 76);font-size: 16px;">    当然</span><span style="font-size: 16px;color: rgb(199, 37, 78);"><strong>dep</strong></span><span style="color: rgb(61, 69, 76);font-size: 16px;">不会每次都去下载,其工作原理和Mevan一样,会优先在本地仓库搜索,本地仓库未找到即在网络上下载,并添加到本地仓库。</span>

    $GOPATH/pkg/dep/sources

    ist der Paketname der abhängigen Bibliothek,

🎜🎜1.0.1🎜🎜🎜 ist die Versionsnummer der Bibliothek. 🎜🎜

Lokaler Cache

<span style="color: rgb(61, 69, 76 );font-size: 16px;"> Natürlich🎜</span><span style="font-size: 16px;color: rgb(199, 37, 78 ) ;">🎜dep🎜🎜</span><span style="color: rgb(61, 69, 76);font-size: 16px;">Nr Jedes Mal herunterladen. Das Funktionsprinzip ist das gleiche wie bei Mevan. Wenn das lokale Lager nicht gefunden wird, wird es aus dem Internet heruntergeladen und dem lokalen Lager hinzugefügt. 🎜</span>🎜

$GOPATH/pkg/dep/sources🎜🎜🎜

Das obige ist der detaillierte Inhalt vonJa, es ist besser als nichts: Gehen Sie zum Abhängigkeitsmanagement-Tool dep. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
go
Quelle:Go语言进阶学习
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