Rumah  >  Artikel  >  pembangunan bahagian belakang  >  pergi dapatkan dan pergi pasang pada fail go.sum

pergi dapatkan dan pergi pasang pada fail go.sum

王林
王林ke hadapan
2024-02-12 09:27:081051semak imbas

go get 与 go install 在 go.sum 文件上

Editor PHP Zimo akan memperkenalkan kepada anda penggunaan arahan "go get" dan "go install" dalam bahasa Go on the go.sum file. Dalam projek bahasa Go, fail go.sum digunakan untuk merekodkan pakej dan maklumat versinya yang bergantung kepada projek, memastikan kestabilan dan ketekalan projek semasa proses binaan dan penggunaan. Dengan memahami kesan arahan "go get" dan "go install" pada fail go.sum, anda boleh mengurus dan mengawal kebergantungan projek dengan lebih baik serta meningkatkan kecekapan pembangunan dan kualiti kod. Mari kita pelajari penggunaan khusus kedua-dua arahan ini bersama-sama!

Kandungan soalan

Saya menggunakan go 1.20.3

Saya baru sahaja memasang pakej ini menggunakan go get and go install

go get -v github.com/mactsouk/go/simplegithub
go install  github.com/mactsouk/go/simplegithub

Fail go.sum saya mengandungi:

github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd h1:tqjgx/jaxlj3rnl7ps7xzqlvth8rl/dusa8wpe9w4y0=
github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd/go.mod h1:trtlpc1xi1zoqdba/cixgds+fcaizdqupmrflet5dbi=
Fail

go.mod ialah:

module calculator

go 1.20

require github.com/mactsouk/go v0.0.0-20180603081621-6a282087f7bd // indirect

Dalam $home/go/pkg/mod/github.com/mactsouk/ aod saya

dr-xr-xr-x  5 user  staff  160 jul  4 18:42 [email protected]

Tiada apa-apa pada $home/go/bin/, hanya dua fail Mengapa tidak pergi memasang salinan fail binari modul simplegithub?

drwxr-xr-x  4 user  staff       128 Jun 26 23:37 .
drwxr-xr-x  4 user  staff       128 Jun 26 23:35 ..
-rwxr-xr-x  1 user  staff   3410064 Jun 26 23:35 go-outline
-rwxr-xr-x  1 user  staff  28237216 Jun 26 23:37 gopls

Adakah terdapat perbezaan antara go get dan go install? Mengapa saya mempunyai fail modul ini dua kali pada go.sum?

Penyelesaian

pergi dapatkan dan pasang

Arahan

go get dan go install dalam Go mempunyai kegunaan yang berbeza:

go get digunakan untuk mendapatkan dan memuat turun pakej serta kebergantungannya daripada repositori jauh. Ia mengemas kini fail go.mod dan go.sum dengan versi pakej yang dimuat turun. Jika pakej sudah wujud, go get akan mengemas kininya kepada versi terkini.

pergi pasang Susun dan pasang pakej dalam GOPATH atau GOBIN projek. Ia tidak mengemas kini fail go.mod atau go.sum. Sebaliknya, ia menggunakan maklumat dalam fail ini untuk menentukan versi pergantungan yang betul untuk digunakan.

Dalam kes anda, apabila anda menjalankan go get , ia memuat turun dan memasang pakej github.com/mactsouk/go/simpleGitHub dan kebergantungannya. Tindakan ini mengemas kini fail go.mod dan go.sum dengan versi pakej yang dimuat turun.

Apabila anda kemudiannya menjalankan go install pada pakej yang sama, anda tidak perlu memuat turun pakej itu semula kerana ia sudah ada dalam cache modul Go setempat. Oleh itu, go install menggunakan pakej sedia ada dan versinya dalam cache dan tidak mengubah suai fail go.mod atau go.sum.

Sebab anda melihat modul ini disenaraikan dua kali dalam fail go.sum ialah ia mengandungi versi modul (v0.0.0-20180603081621-6a282087f7bd) dan fail go.mod yang sepadan, yang mengandungi checksum. Ini adalah tingkah laku yang dijangka dan memastikan integriti pergantungan.

Ringkasnya, pergi dapatkan dan pergi pasang mempunyai tujuan yang berbeza Adalah perkara biasa untuk modul diulang dalam fail go.sum.

Atas ialah kandungan terperinci pergi dapatkan dan pergi pasang pada fail go.sum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam