網站首頁 編程語言 正文
一、go mod 是什么?
go modules 官方定義為:
模塊是相關Go包的集合。modules是源代碼交換和版本控制的單元。
go命令直接支持使用modules,包括記錄和解析對其他模塊的依賴性。modules替換舊的基于GOPATH的方法來指定在給定構建中使用哪些源文件。
二、詳細命令
1. init
代碼:
go mod init
生成 go.mod 文件,此命令會在當前目錄中初始化和創建一個新的go.mod文件,手動創建go.mod文件再包含一些module聲明也等同該命令,而go mod init命令便是幫我們簡便操作,可以幫助我們自動創建。
2.download
代碼:
go mod download
下載 go.mod 文件中指明的所有依賴,使用此命令來下載指定的模塊,模塊的格式可以根據主模塊依賴的形式或者path@version形式指定。
3.tidy
代碼:
go mod tidy
整理現有的依賴,使用此命令來下載指定的模塊,并刪除已經不用的模塊
4.graph
代碼:
go mod graph
查看現有的依賴結構,生成項目所有依賴的報告,但可讀性太差,圖形化更方便。
5.edit
代碼:
go mod edit
編輯 go.mod 文件,之后通過 download 或 edit 進行下載
5.vendor
代碼:
go mod vendor
導出項目所有的依賴到vendor目錄,從mod中拷貝到項目的vendor目錄下,IDE可以識別這樣的目錄。
5.verify
代碼:
go mod verify
校驗一個模塊是否被篡改過,查詢某個常見的模塊出錯是否已被篡改
5.why
代碼:
go mod why
查看為什么需要依賴某模塊,查詢某個不常見的模塊是否是哪個模塊的引用
補充:golang開啟mod后import報紅解決
在golang中,開啟mod模式后,import包變紅,但是程序可以正常運行
如下所示:
猜測是索引路徑出了問題,當前項目的依賴路徑如下,可以看到只有sdk和GOPATH,沒有go mod模塊
新建go項目,然后老老實實的go mod init [項目名],然后go build拉包,一切正常,這時,在setting里再啟用go mod勾選上
然后,奇跡出現了,我們的依賴中,多了一個go mod路徑,這時原來報紅的import路徑消失了!!!
總結
通過以上可以輕松了解在Golang中go mod的使用方式。Go mod提供了一系列操作modules的命令,所有的go命令中現在已經內置了對module的支持,而不僅僅是go mod命令。例如使用go get時,會經常自動在后臺添加、移除、升級、降級依賴包版本。
原文鏈接:https://blog.csdn.net/moer0/article/details/123490476
相關推薦
- 2022-10-26 Python?Pyinstaller庫安裝步驟以及使用方法_python
- 2022-06-17 docker修改容器配置文件的3種方法總結_docker
- 2023-05-18 深入了解Android?Okio的超時機制_Android
- 2022-11-29 C#中泛型容器Stack<T>的用法并實現”撤銷/重做”功能_C#教程
- 2022-05-05 sqlserver數據庫加密后無法使用MDF,LDF,log文件名稱被修改的數據恢復_MsSql
- 2022-09-04 從docker鏡像里提取dockerfile的兩種方法_docker
- 2023-06-17 C#?輸出參數out問題_C#教程
- 2022-02-26 輸入ip地址,輸入框超過三位直接跳到下一個
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支