Editor PHP Zimo membawakan anda artikel tentang cara menggunakan kaedah ruang kerja untuk melanjutkan perpustakaan golang yang diklon. Dalam proses pembangunan harian, kami sering menggunakan perpustakaan pihak ketiga untuk meningkatkan kecekapan dan kefungsian. Walau bagaimanapun, kadangkala kita mungkin perlu membuat beberapa pengubahsuaian tersuai pada perpustakaan ini. Artikel ini akan memperkenalkan kaedah untuk memanjangkan perpustakaan golang yang diklon menggunakan ruang kerja. Dengan langkah mudah, anda boleh mengubah suai dan menyesuaikan mana-mana perpustakaan dengan mudah untuk memenuhi keperluan khusus anda. Sama ada anda seorang pemula atau pembangun berpengalaman, artikel ini boleh membantu anda menggunakan pustaka golang dengan lebih baik. Mari kita terokai teknik yang menyeronokkan ini bersama-sama!
Saya sedang menulis aplikasi golang dan ingin memanfaatkan perpustakaan sedia ada. Tetapi perpustakaan itu kehilangan beberapa ciri, jadi saya memutuskan untuk menghentikan repositori dan menambah ciri baharu saya padanya.
Untuk dapat menggunakan perpustakaan bercabang/lanjutan dalam aplikasi saya, saya menggunakan ciri "ruang kerja" golang.
go.work
dalam repositori apl saya kelihatan seperti
<code>go 1.21.4 use ( . ../go-git-cmd-wrapper // this is the local path to the forked/edited lib repo ) </code>
Ini berfungsi dengan baik selagi saya hanya melanjutkan pakej sedia ada dalam repositori bercabang. iaitu. Sebaik sahaja saya mula mencipta pakej baharu dalam repositori bercabang, saya mendapat ralat binaan seperti ini:
Saya menambah pakej baharu dengan kandungan berikut pada repositori bercabang/klon go-git-cmd-wrapper/log/log.go
<code>package log .... // my new functionality </code>
<code>package main import ( .... // the following three work as expected, i.e. I can add new functionality // to those packages and use them in my application gwbranch "github.com/ldez/go-git-cmd-wrapper/v2/branch" gwconfig "github.com/ldez/go-git-cmd-wrapper/v2/config" gw "github.com/ldez/go-git-cmd-wrapper/v2/git" // the following doesn't work, I get import error on build gwlog "github.com/ldez/go-git-cmd-wrapper/v2/log" .... ) </code>
go: finding module for package github.com/ldez/go-git-cmd-wrapper/v2/log go: changeme imports github.com/ldez/go-git-cmd-wrapper/v2/log: module github.com/ldez/go-git-cmd-wrapper/v2@latest found (v2.6.0), but does not contain package github.com/ldez/go-git-cmd-wrapper/v2/log exit status 1
https://www.php.cn/link/b99f4242922cd10313630b0ecccda1dc
Anda harus menggunakan fungsi modul go, yang direka untuk kes penggunaan ini. Simpan garpu di ruang kerja go anda, tetapi tambahkan yang berikut pada go.mod anda: replace
module your-module go 1.21.4 require github.com/ldez/go-git-cmd-wrapper v2.6.0 replace github.com/ldez/go-git-cmd-wrapper v2.6.0 => ../go-git-cmd-wrapper
https://go.dev/doc/modules/managing-dependency#local_directory
Atas ialah kandungan terperinci Cara memanjangkan perpustakaan golang klon menggunakan kaedah ruang kerja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!