Golang,從本地導入路徑轉移到遠端導入路徑問題
php小編百草為你解答Golang中從本機匯入路徑轉移到遠端匯入路徑的問題。在Golang開發中,我們經常會遇到從本地導入路徑轉移到遠端導入路徑的情況,尤其是當多人協作開發或專案遷移時。本文將詳細介紹如何正確處理這個問題,確保程式碼能順利運作。讓我們一起來看看吧!
問題內容
我剛開始將我的應用程式分解為不同的儲存庫。像許多人一樣,我正在經歷處理 Go 和更改存儲庫的麻煩。但這些問題有很多問答,所以我不會在這裡詢問。
相反,我有一個簡單的問題,但我無法理解。我的所有模組,因為它是一個大應用程序,都只是本地引用。例如core/validate
等。
將內容移至多個儲存庫。似乎會導致本地引用出現問題,因此我將路徑更改為遠端路徑,例如 gitlab.com/<group>/core.git/validate</group>
正如幾個問答所建議的那樣。
但是,這會帶來一個問題,如果說gitlab.com/<group>/core.git/config</group>
引用了gitlab.com/<group>/core. git/validate</group>
並不表示gitlab.com/ <group>/core.git/config</group>
現在指向gitlab.com/gitlab.com/...
中的某些內容或指向遠端伺服器,或指向彼此以外的任何地方,就像它們只有像core/validate
這樣的相對路徑時一樣?當我更改它們時,它看起來就是這樣,因為我的 IDE (GoLand) 顯示未找到的參考。
我還沒有嘗試做go mod init
並從頭開始重建mod,但是go mod tidy
不起作用,我不知道我是否也必須在go. work
中進行更改遠端路徑很好,但現在我只是在IDE 中找不到顯示的導入。
似乎如果您使用遠端引用來進行開發時在程式碼中所做的更改,則必須推送更改,以便它是引用指向的位置,也許還可以執行go get
更改為引用本地遠端路徑的地方,這似乎是一種糟糕的開發方式,因此不可能是正確的。
那麼,這些遠端路徑如何與開發配合使用,我缺少什麼?
解決方法
有幾個概念會造成混淆。
模組是套件的集合。您可以將模組命名為“mymodule”,然後“mymodule”下的所有套件將命名為“mymodule/pkg1”、“mymodule/pkg2/otherpkg”等。
然後您就有了套件的導入路徑。導入路徑顯示包的位置。例如,你的原始碼在“mymodule/pkg1”中,而你導入了“mymodule/pkg2”,那麼這是對同一模組下的套件的引用。
現在假設您在「github.com/mygroup/othermodule」上有另一個模組,名為「othermodule」。您在此模組中導入一個套件作為“github.com/mygroup/othermodule/pkg1”。如果“othermodule/pkg1”引用“othermodule/pkg2”,那麼它仍然會導入“othermodule/pkg2”,因為它位於同一模組中。但是從“mymodule/pkg1”中,您將其匯入為“github.com/mygroup/othermodule/pkg2”。
Go 模組系統使用其他模組的版本引用。當您包含模組中的套件時,該模組的特定版本將會加入 go.mod 中。如果您向該模組推送新的更改,則必須更新該引用以包含這些更改。這就是為什麼最好不要將緊密耦合的項目分成多個模組的原因。
如果您想一起開發多個模組,請使用「replace」指令來使用該模組的本機副本,而不是指向儲存庫上的版本。
以上是Golang,從本地導入路徑轉移到遠端導入路徑問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

利用Golang開發功能強大的桌面應用隨著網路的不斷發展,人們已經離不開各種類型的桌面應用程式。而對於開發人員來說,如何利用高效率的程式語言來開發功能強大的桌面應用至關重要。本文將介紹如何利用Golang(Go語言)來開發功能強大的桌面應用,並提供一些具體的程式碼範例。 Golang是一種由Google開發的開源程式語言,它具有簡潔、高效、並發性強等特點,非常適

Golang開發的安全性挑戰:如何避免被利用用於病毒製作?隨著Golang在程式設計領域的廣泛應用,越來越多的開發者選擇使用Golang來開發各種類型的應用程式。然而,與其他程式語言一樣,Golang開發中也存在著安全性挑戰。特別是,Golang的強大功能和靈活性也使其成為潛在的病毒製作工具。本文將深入探討Golang開發中的安全性問題,並提供一些方法來避免G

標題:在Mac上使用Golang程式設計的步驟與技巧在當前軟體開發領域,Golang(也被稱為Go)作為一種高效、簡潔、並發性強的程式語言,受到越來越多開發者的關注和使用。在Mac平台上進行Golang編程,可以藉助一些工具和技巧,提高開發效率。本文將介紹Mac上使用Golang程式設計的步驟與技巧,並提供具體程式碼範例,幫助讀者更好地理解和應用。步驟1:安裝Gol

Golang(簡稱Go語言)作為一種程式語言在近年來逐漸在區塊鏈領域嶄露頭角,其高效的並發處理能力和簡潔的語法特點使其成為了區塊鏈開發中備受青睞的一種選擇。本文將探討Golang如何協助區塊鏈發展,並透過具體的程式碼範例展示其在區塊鏈應用中的優越性。一、Golang在區塊鏈領域的優勢高效的並發處理能力:區塊鏈系統中的節點需要同時處理大量的事務和數據,而Gola

Golang是一種由Google開發的開源程式語言,被廣泛應用於後端服務開發、雲端運算、網路程式設計等領域。作為一種靜態類型語言,Golang具有高效的並發模型和強大的標準庫,因此備受開發者青睞。然而,在實際開發中,Golang開發者通常需要結合其他程式語言來進行專案開發,以滿足不同場景的需求。 PythonPython是一種物件導向的程式語言,以其簡潔明了、易於學

Gokit是一個Golang微服務框架,透過最佳化、可擴充、可維護和測試友善功能,提升API效能。它提供一系列工具和模式,使用戶能夠快速建立高效能和可維護的API。在實際生產中,它被廣泛應用於Netflix、Spotify和Uber等大型平台的API構建,處理著大量的請求。

Golang語言作為一門快速、有效率的程式語言,受到越來越多開發者的青睞。然而,在日常開發中,我們難免會遇到各種各樣的錯誤。如何正確分析錯誤的原因,並找到解決策略,是每個Golang開發者需要深入了解和掌握的重要技能。錯誤分析類型斷言失敗Golang中,類型斷言是常見的操作,但有時如果類型不匹配,就會導致panic。下面是一個簡單的範例:varxinter

標題:Golang替換空格的實用技術分享隨著互聯網的普及和發展,程式設計和開發變得愈發重要。在程式設計過程中,資料處理是一個非常關鍵的部分。處理文字資料時,常常會遇到需要替換空格的情況,本文將分享如何在Golang中實現替換空格的技術,並提供具體的程式碼範例。為什麼需要替換空格?空格是文字資料中常見的特殊字元之一,有時候我們需要將空格替換成其他字符,或是去除掉空格
