go 模組- 「沒有版本的替換模組必須是目錄路徑(根目錄或以...開頭」)Glitch
在上下文中在go 模組中,replace 指令可讓您用本機路徑取代模組。但是,該指令有一個特定的要求:路徑必須是根路徑(以“/”開頭)或相對於模組的根路徑。
理解問題
在提供的場景中,嘗試在go 模組(goweb) 中使用本地套件(mypack) 會導致錯誤:「沒有版本的替換模組必須是目錄路徑(根目錄)或以.) 開頭” 此錯誤表示為替換指令指定的路徑不符合所需的格式。
解決問題
要解決此問題,確保replace指令的路徑滿足以下條件:
解決方法
對於goweb 模組,由於mypack 是其根目錄的同級目錄,因此正確的替換指令是:
此外,為了使此替換有效工作,還必須透過在其目錄中添加go.mod 檔案將mypack 轉換為go 模組。這可以透過在 mypack 目錄中執行命令 go mod init mypack 來完成。
其他注意事項
如果應用程式和它使用的套件是同一個套件的一部分go 模組,則無需將其添加到 go.mod 中。只需引用程式碼中的套件就足夠了。
資源
以上是為什麼 Go Modules 會拋出「沒有版本的替換模組必須是目錄路徑(rooted 或以...開頭)」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!