1. 程式人生 > >Golang 解決 Iris 被牆的依賴包

Golang 解決 Iris 被牆的依賴包

使用 Golang 的 Iris web 框架時,用 go get github.com/kataras/iris 命令久久無法下載,最後還報一堆錯誤。

使用  GOPROXY 可解決問題,也可參考如下地址:https://goproxy.io

我使用的是 Win10系統,所以下面的演示以Windows 系統為例。

我的 GOPATH 目錄是在 D:\GOPATH 目錄(此目錄包含 src、pkg、bin目錄,這三個目錄要手動建立)。

專案在 GOPROJECT 目錄中,如下圖

 

 

1.開啟CMD命令提示框,設定臨時環境變數

set GO111MODULE=on

set GOPROXY=https://goproxy.io

注意 https://goproxy.io 也可替換成阿里雲的 https://mirrors.aliyun.com/goproxy

 

 

2.再次執行 go get github.com/kataras/iris 也可以加 -v -u ,如下

 go get -v -u github.com/kataras/iris

 這時候就把所有的依賴都下載下來了。

值得注意的是,這些包並沒有下載到 GOPATH/src 目錄下,而是在 GOPATH/pkg/mod 目錄中

 

 3.在 GOPROJECT 目錄下建立一個 MyTest 目錄,我稱這個目錄是 MyTest 專案

 4.在 MyTest  目錄中建立 main.go 檔案,內容如下:

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")
	})


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

 5.用CMD命令框進入到 D:\GOPROJECT\MyTest 目錄中

 6.執行 go run main.go 

 

 

此時開啟瀏覽器輸入 localhost:8080 就可以訪問了。

 

值得一提的是:當再次開啟一個新的CMD框或下次開機執行  go run main.go 前,一定要先執行

set GO111MODULE=on

set GOPROXY=https://goproxy.io

如果閒麻煩,可直接在環境變數中設定。

 

下一篇將講解 包管理Go module的使用。

提示:當你想把寫好的程式碼發給同事看時,你不可能讓你同事再次下載依賴包,而是你將依賴包打包到專案的  vendor 目錄下一塊發給你的同