Editor PHP Zimo memperkenalkan: Baru-baru ini, alat pengurusan modul dalam bahasa Go telah membawa masuk modul berbilang fungsi baharu. Pengenalan ciri ini membolehkan pembangun menentukan laluan modul dengan lebih fleksibel apabila menggunakan modul Go. Pada masa lalu, pembangun hanya boleh memasang modul dalam laluan tetap, mengakibatkan kebergantungan modul yang kompleks. Kini, kemunculan modul berbilang laluan menyediakan pembangun dengan lebih banyak pilihan, menjadikan pengurusan modul lebih mudah dan fleksibel. Pembangun boleh memasang modul dalam laluan berbeza mengikut keperluan projek, dengan itu mencapai pengurusan modul dan kawalan versi yang lebih baik. Pengenalan ciri baharu ini akan meningkatkan lagi kecekapan pembangunan dan kemudahan bahasa Go.
Saya mempunyai modul go yang dicerminkan ke berbilang lokasi. Satu dalam gitlab dan satu lagi dalam bitbucket. Apabila cuba mendasarkannya pada lokasi gitlab baharu saya mendapat:
go: gitlab.com/company/[email protected]: parsing go.mod: module declares its path as: bitbucket.org/company/core but was required as: gitlab.com/company/core
Saya tahu mengapa ini berlaku, tetapi bagaimanakah caranya saya mentakrifkan go.mod saya sebagai "atau"?
Jawapan ringkas: Anda tidak boleh.
Tetapi semua mungkin tidak hilang...
Jika anda mempunyai kod di lokasi yang dirujuk oleh laluan modul dan di lokasi lain yang atas sebab tertentu anda lebih suka memuat turun daripadanya, anda boleh mengkonfigurasi git alias
untuk mengubah hala rujukan dari laluan modul yang ditentukan ke sumber muat turun yang dikehendaki:
git config --global --add url."https://<download path>".insteadof "https://<module path>"
Alias tidak perlu sepenuhnya diganti. Anda boleh menggunakan alias untuk menggantikan awalan pada mana-mana laluan modul. Jadi jika anda mengehoskan beberapa modul pada pelayan modul ini (selagi nama repositori adalah sama). Sebagai contoh, kami menggunakannya untuk mencipta laluan modul "mesra" untuk modul yang dihoskan dalam repositori git pelayan azuredevops tempatan, seperti:
git config --global --add url."https://tfs.myorg.com/myorgcollection/_git".insteadof "https://tfs.myorg.com"
) tfs.myorg.com/somemodule.git
,但是当 go get
尝试获取此 git 时,它将在 https://tfs.myorg.com/myorgcollection/_git/somemodule 中查找它.git
git config --global --add url."https://gitlab.com/company/".insteadof "https://bitbucket.org/company/"
.git
.
iaitu apabila anda anda perlu memetik laluan
modul yang diisytiharkan oleh: git
级别的事物,就 go
而言,它仍然从 bitbucket.org
获取,即使 git
将在后台访问 gitlab.com
go get bitbucket.org/company/core
. go get
Atas ialah kandungan terperinci Pergi modul dengan berbilang laluan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!