Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan

Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan

Go语言进阶学习
Go语言进阶学习ke hadapan
2023-07-21 13:13:461391semak imbas

. Sebelum keluaran keluaran Golang 1.5, masalah ini hanya boleh diselesaikan dengan menetapkan berbilang GOPATH Contohnya: kedua-dua projek saya bergantung pada Beego, tetapi projek A bergantung pada

<span style="color: rgb(217, 72, 99);">Beego1.1<section mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: center;letter-spacing: 1.5px;line-height: normal;visibility: visible;"></section></span><br>,
B projek bergantung pada

<span style="color: rgb(217, 72, 99);">Beego1.7<img src="https://img.php.cn/upload/article/001/272/559/760b8f9ed98117c67923a44780e24b6e-0.jpg" alt="Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan" ></span>

,

Saya perlu menetapkan dua GOPATH untuk membezakan, dan GOPATH juga mesti digunakan apabila menukar projek Penukaran amat menyakitkan . Akhirnya, keluaran Golang 1.5 mula menyokong pertanyaan pergantungan selain GOROOT dan GOPATH, iaitu<span style="color: rgb(217, 72, 99) ;">penjual</span>

,Sekian ramai lelaki besar mula membuat roda, dan yang lebih baik sepatutnya<span style="color: rgb (217 , 72, 99);">dep<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>

    dan 🎜🎜<span style="color: rgb(217, 72, 99 "> meluncur🎜</span>🎜. 🎜

    Protagonis muncul

    🎜🎜 Protagonis hari ini ialah🎜🎜dep 🎜🎜🎜, alat pergantungan rasmi Golang, alat yang digunakan untuk mengurus dan memuat turun kebergantungan projek Berikut ialah pengenalan rasmi🎜🎜
    🎜dep ialah alat pengurusan pergantungan prototaip untuk Go. Ia memerlukan Go 1.9 atau lebih baharu untuk menyusun . dep selamat untuk kegunaan pengeluaran.🎜

    Pemasangan

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

      Windows perlu menyusunnya sendiri dan mengesahkan 🎜$GOPATH/bin🎜🎜 Tambah kepada pembolehubah persekitaran🎜<span style="color: rgb(217, 72, 99);">$PATH🎜</span>🎜Down🎜

    Sahkan

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

    Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan

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

    Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan

    <br>

    2.dep status

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

    Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan

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

    <br>

    4.dep ensure add   github.com/RoaringBitmap/roaring@^1.0.1 pada arahan baris dan tekan Enter, gesaan berikut akan muncul, menunjukkan bahawa pemasangan telah berjaya. . />

    🎜🎜🎜<br>🎜🎜Pengenalan fungsi🎜

    🎜1.dep init🎜🎜<br>🎜 Sandarkan semasa 🎜🎜<span style="color: rgb(199, 37, 78);">vender🎜</span>🎜🎜, buat 🎜🎜vender🎜 kod >🎜 direktori dan muat turun semua pakej bergantung dalam projek, hasilkan 🎜🎜<code style="font-size: 14px;"><span style="color: rgb(199, 37, 78);">Gopkg.lock 🎜 </span>🎜🎜 dan 🎜🎜<span style="color: rgb(199, 37, 78);">Gopkg.toml🎜</span>🎜 🎜 Berikut ialah penerangan tentang fungsi kedua-dua fail secara ringkas: 🎜🎜<span style="color: rgb(199, 37, 78);"> Gopkg.toml🎜 code>🎜🎜 ialah fail manifes, 🎜<span style="color: rgb(199, 37, 78);">🎜<code style="font-size: 14px;">Gopkg. kunci🎜🎜 🎜 ialah fail penerangan pengesahan. Cuba untuk tidak mengubah suainya untuk mengelakkan ralat yang menyebabkan kedua-dua fail tidak segerak. 🎜🎜

    Manfes - fail yang menerangkan keperluan pergantungan projek semasa. Dalam dep, ini ialah fail Gopkg.toml. <br>Kunci - fail yang mengandungi perihalan transitif lengkap dan boleh dihasilkan semula bagi graf pergantungan Dalam dep, ini ialah fail Gopkg.lock.🎜

    🎜🎜🎜🎜Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan🎜

    🎜 🎜🎜<br>🎜

    🎜status 2.dep🎜🎜🎜

    🎜 Gunakan Untuk melihat maklumat terperinci dan status kebergantungan projek, adalah sangat jelas. 🎜 🎜

    Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan🎜

    🎜🎜🎜🎜

    🎜3.dep pastikan🎜🎜<br>🎜 Cuba pastikan semua perpustakaan bergantung telah dipasang. Jika tidak, muat turunnya, iaitu bersamaan dengan menyemak kebergantungan Perpustakaan dikemas kini secara berperingkat. 🎜🎜

    🎜<br>🎜🎜🎜

    🎜4.dep pastikan tambah github.com/RoaringBitmap/roaring@^1.0.1 🎜🎜🎜

    Muat turun dan tambah perpustakaan bergantung baharu dan kemas kini fail manifes dan fail perihalan pengesahan secara berperingkat. 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

    ialah nama pakej perpustakaan bergantung,

🎜🎜1.0.1🎜🎜🎜 ialah nombor versi pustaka. 🎜🎜

Cache setempat

<span style="color: rgb(61, 69, 76 );font-size: 16px;"> Sudah tentu🎜</span><span style="font-size: 16px;color: rgb(199, 37, 78 ) ;">🎜dep🎜🎜</span><span style="color: rgb(61, 69, 76);font-size: 16px;">Tidak Muat turun setiap kali Prinsip kerjanya adalah sama seperti Mevan Ia akan mencari di gudang tempatan terlebih dahulu Jika gudang tempatan tidak dijumpai, ia akan dimuat turun dari Internet dan ditambah ke gudang tempatan. 🎜</span>🎜

$GOPATH/pkg/dep/sources🎜🎜🎜

Atas ialah kandungan terperinci Ya, ia lebih baik daripada tiada: Pergi bahagian alat pengurusan pergantungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:Go语言进阶学习. Jika ada pelanggaran, sila hubungi admin@php.cn Padam