使用 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 目錄下一塊發給你的同事。
