Maison  >  Article  >  développement back-end  >  Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

Go语言进阶学习
Go语言进阶学习avant
2023-07-21 13:13:461388parcourir
<br>

Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

« Il faut environ 3,4 minutes pour lire cet article »

L'un des problèmes critiqués par de nombreux développeurs au début de Golang était la gestion des packages dépendants. Avant la sortie de Golang 1.5, ce problème ne pouvait être résolu qu'en définissant plusieurs GOPATH. Par exemple : mes deux projets dépendaient de Beego, mais le projet A reposait sur . <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>, le projet

    B dépend de 🎜🎜<span style="color: rgb(217, 72, 99);">Beego1.7🎜</span>🎜,🎜Je dois définir deux GOPATH pour distinguer, et lors du changement de projet, le GOPATH doit également être défini. La commutation est extrêmement douloureux. Enfin, la version Golang 1.5 a commencé à prendre en charge les requêtes de dépendance autres que GOROOT et GOPATH, c'est-à-dire🎜🎜<span style="color: rgb(217, 72, 99) ;">vendeur🎜</span>🎜,🎜Tant de grands gars ont commencé à fabriquer des roues, et les meilleurs devraient l'être🎜🎜<span style="color: rgb (217 , 72, 99);">dep🎜</span>🎜🎜 et 🎜🎜<span style="color: rgb(217, 72, 99 "> glisser🎜</span>🎜. 🎜

    Le protagoniste apparaît

    🎜🎜 Le protagoniste d'aujourd'hui est🎜🎜dep 🎜🎜🎜, l'outil de dépendance officiel de Golang, un outil utilisé pour gérer et télécharger les dépendances du projet. Ce qui suit est l'introduction officielle🎜🎜
    🎜dep est un prototype d'outil de gestion des dépendances pour Go. Il nécessite Go 1.9 ou plus récent pour compiler . dep est sans danger pour une utilisation en production.🎜

    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🎜 🎜allez chercher -u github.com/golang/dep/cmd/dep🎜🎜🎜

      Windows doit le compiler vous-même et confirmer 🎜$GOPATH/bin🎜🎜 Ajouter aux variables d'environnement🎜<span style="color: rgb(217, 72, 99);">$PATH🎜</span>🎜Down🎜

    Verify

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

    Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

    <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.

    Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

    <br>

    2.dep status

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

    Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances

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

    <br>

    4.dep ensure add   github.com/RoaringBitmap/roaring@^1.0.1 sur la commande ligne et appuyez sur Entrée, l'invite suivante apparaîtra, indiquant que l'installation a réussi.

    🎜🎜🎜🎜🎜

    Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances🎜🎜🎜🎜<br>🎜🎜Introduction à la fonction🎜

    🎜1.dep init🎜🎜<br>🎜 Sauvegarder le 🎜🎜 actuel<span style="color: rgb(199, 37, 78);">vendeur🎜</span>🎜🎜, créez 🎜🎜vendeur🎜 code >🎜 répertoire et téléchargez tous les packages dépendants du projet, générez 🎜🎜<code style="font-size: 14px;"><span style="color: rgb(199, 37, 78);">Gopkg.lock 🎜 </span>🎜🎜 et 🎜🎜<span style="color: rgb(199, 37, 78);">Gopkg.toml🎜</span>🎜 🎜 Ce qui suit est une description brève des fonctions des deux fichiers 🎜🎜<span style="color: rgb(199, 37, 78);">Gopkg .toml🎜 code>🎜🎜 est le fichier manifeste, 🎜<span style="color: rgb(199, 37, 78);">🎜<code style="font-size: 14px;">Gopkg.lock 🎜🎜 🎜 est le fichier de description de la vérification. Essayez de ne pas le modifier pour éviter les erreurs qui entraîneraient une désynchronisation des deux fichiers. 🎜🎜

    Un manifeste - un fichier décrivant les exigences de dépendance du projet actuel. En dépôt, il s'agit du fichier Gopkg.toml. <br>Un verrou - un fichier contenant une description transitivement complète et reproductible du graphe de dépendances. En dépôt, il s'agit du fichier Gopkg.lock.🎜

    🎜🎜🎜🎜Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances🎜

    🎜 🎜🎜<br>🎜

    🎜Statut 2.dep🎜🎜🎜

    🎜 Utiliser Pour afficher les informations détaillées et l’état des dépendances du projet, c’est très clair. 🎜 🎜

    Oui, c'est mieux que rien : optez pour l'outil de gestion des dépendances🎜

    🎜🎜🎜🎜

    🎜3.dep Ensure🎜🎜<br>🎜 Essayez de vous assurer que toutes les bibliothèques dépendantes ont été installées. Sinon, téléchargez-les, ce qui est équivalent à vérifier les dépendances. La bibliothèque est mise à jour progressivement. 🎜🎜

    🎜<br>🎜🎜🎜

    🎜4.dep assurez-vous d'ajouter github.com/RoaringBitmap/roaring@^1.0.1 🎜🎜🎜

    Téléchargez et ajoutez de nouvelles bibliothèques dépendantes, et mettez à jour progressivement le fichier manifeste et le fichier de description de vérification. 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

    est le nom du package de la bibliothèque dépendante,

🎜🎜1.0.1🎜🎜🎜 est le numéro de version de la bibliothèque. 🎜🎜

Cache local

<span style="color: rgb(61, 69, 76 );font-size: 16px;"> Bien sûr🎜</span><span style="font-size: 16px;color: rgb(199, 37, 78 ) ;">🎜dep🎜🎜</span><span style="color: rgb(61, 69, 76);font-size: 16px;">Non Téléchargez à chaque fois. Son principe de fonctionnement est le même que celui de Mevan. Il recherchera d'abord dans l'entrepôt local si l'entrepôt local n'est pas trouvé, il sera téléchargé depuis Internet et ajouté à l'entrepôt local. 🎜</span>🎜

$GOPATH/pkg/dep/sources🎜🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer