告別GOPATH,快速使用 go mod(Golang包管理工具)


https://www.jianshu.com/p/bbed916d16ea

1.7 2019.01.07 17:21* 字數 838 閱讀 32145評論 3

如果你還在使用 GOPATH 模式來開發Golang程序,那么你可以參考本文來告別 GOPATH,並帶給你一個方便的包管理工具。

關於 go mod 的說明和簡單使用,可以參考:

1、Go1.1.1新功能module的介紹及使用

2、Introduction to Go Modules

3、Go 1.11 Modules 官方說明文檔

使用go mod 管理項目,就不需要非得把項目放到GOPATH指定目錄下,你可以在你磁盤的任何位置新建一個項目,比如:

新建一個名為 wserver 的項目,項目路徑 D:\test\wserver (注意,該路徑並不在GOPATH里)

進入項目目錄 D:\test\wserver 里,新建一個 go源碼文件: main.go

然后在 D:\test\wserver 里打開終端執行命令:  go mod init wserver (go mod init 后面需要跟一個名字,我這里叫wserver)

看到提示 “go: creating new go.mod: module wserver”  說明 go mod 初始化成功了,會在當前目錄下生成一個 go.mod 文件。

包含go.mod文件的目錄也被稱為模塊根,也就是說,go.mod 文件的出現定義了它所在的目錄為一個模塊。

執行上述命令之后,其實你已經可以開發編譯運行此項目了,比如我們隨便使用github上的一個包,在終端打印一下

運行一下,會看到輸出結果:  { false false false}  ,同時項目目錄下多出了一個文件 go.sum  。go.sum 是記錄所依賴的項目的版本的鎖定。

現在我們再建一個項目內的包 route :

在 main.go 里如果需要使用這個包,需要使用這個包的 模塊內的絕對路徑來導入,比如:

"wserver/route"  導入這個包的地方是 模塊內的絕對路徑,就是要從go.mod所在的目錄開始。

另外,如果我們想把這個項目放到GOPATH下面,不使用go mod模式,而是想使用GOPATH模式的話,,只需要把這個項目移到GOPATH環境變量包含的任意一個目錄下面的src目錄里,就可以啟用GOPATH模式了(前提是 GO111MODULE 這個環境變量的值必須是auto 或 off)。

比如:gotest 目錄是GOPATH環境變量里的其中一個目錄,我們將上面的代碼復制到 src 目錄下,刪除原來的go.mod 、go.sum 兩個文件(也可以不刪除),代碼一樣可以運行:

小總結:

使用go mod ,利用Go 的 module 特性,你再也不需要關心GOPATH了(當然GOPATH變量還是要存在的,但只需要指定一個目錄,而且以后就不用我們關心了), 你可以任性的在你的硬盤任何位置新建一個Golang項目了。

好了,本文就是個非常簡單的小示例,只是告訴初次使用go mod的人,如何快速開始使用go mod 。詳細的概念和使用方法,請仔細閱讀開頭列出的3篇文章。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM