亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么這個版本標簽會導致錯誤?

為什么這個版本標簽會導致錯誤?

Go
當年話下 2023-07-10 10:40:42
在我的go.mod文件中,我有:require (    // ... editted for brevity    github.com/Liquid-Labs/catalyst-firewrap v2.0.0-prototype.3    // ... )當我嘗試構建依賴于此包的另一個包時,我得到:invalid module: github.com/Liquid-Labs/catalyst-firewrap should be v0 or v1, not v2 (v2.0.0-prototype.3)。在 go 模塊化之前有一個重寫,當時我沒有標記東西,所以沒有v1......這是問題嗎?我沒有運氣在這里找到根本問題的解釋。
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

根據Go 模塊 wiki:

如果模塊是版本 v2 或更高版本,則模塊的主要版本必須作為 a 包含/vN在 go.mod 文件中使用的模塊路徑的末尾(例如,module github.com/my/mod/v2,require github.com/my/mod/v2 v2.0.0)和包導入路徑(例如,?import "github.com/my/mod/v2/mypkg")中。

同一份文檔引用了 Go 官方常見問題解答中的基本原理:

供公眾使用的軟件包應盡量在發展過程中保持向后兼容性。Go 1 兼容性指南是一個很好的參考:不要刪除導出的名稱,鼓勵標記復合文字,等等。如果需要不同的功能,請添加新名稱而不是更改舊名稱。如果需要完全中斷,請使用新的導入路徑創建一個新包。

和:

如果舊包和新包具有相同的導入路徑,則新包必須向后兼容舊包。


查看完整回答
反對 回復 2023-07-10
  • 1 回答
  • 0 關注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號