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!
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=
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?
pergi dapatkan dan pasang
Arahango 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!