包管理Go module的使用

我用 Golang 的 Web 框架 Iris 寫項目時,發現下載依賴總是失敗緣由是被牆了(能夠參考上一篇 https://www.cnblogs.com/ser0632/p/11374790.html)。html

還有一個問題是:當你想把寫好的代碼發給同事看時,你不可能讓你同事再次下載依賴包,而是將依賴包打包到項目的  vendor 目錄下一塊發給你的同事。git

下面就講解處理辦法。github

Go 的 module 不少功能,我這裏只講我工做中用到的狀況。app

個人工做文件夾是 D:\GOPROJECT 目錄。框架

1.在 D:\GOPROJECT 目錄中建立一個文件夾 MyTest 我也稱 MyTest 爲個人項目。ui

2.在 MyTest 目錄下建立 mian.go 文件,文件內容以下:debug

package main

import (
	"github.com/kataras/iris"

	"github.com/kataras/iris/middleware/logger"
	"github.com/kataras/iris/middleware/recover"
)

func main() {
	app := iris.New()
	app.Logger().SetLevel("debug")
	app.Use(recover.New())
	app.Use(logger.New())
	app.Get("/", func (ctx iris.Context){
		ctx.HTML("Hello vendor")
	})


	app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed))
}

  

3.打開CMD命令框,進入到  D:\GOPROJECT\MyTest 目錄中3d

4.在命令框中執行如下兩條命令code

set GO111MODULE=onhtm

set GOPROXY=https://goproxy.io

 

注意:若是不想每次打開命令框輸入以上兩條代碼,可把這兩條命令寫入到環境變量中,以下圖:

 

5.在命令框中執行  go mod init MyTest

init 後面的名稱可自定義,爲了對應項目的名稱,因此我也用了 MyTest。

執行完後會發現項目路徑下多了一個 go.mod 的文件

6.在CMD命令框中執行 go build main.go

 

執行完後(若是你的代碼沒有語法錯誤),你會發現MyTest 目錄下又多了兩個文件 go.sum 和 main.exe 文件。

7.在CMD命令框執行 go mod vendor

這樣就會把全部的依賴包,都打包到項目下的 vendor 文件夾中(注意 CMD的當前目錄必定要在項目中)。

此時你的項目 MyTest  會多一個 vendor 文件夾。

 

全部的依賴包都在  vendor 文件夾中

 

 

完。

相關文章
相關標籤/搜索