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 目录下一块发给你的同事。

posted on 2019-08-19 00:41  小人物大梦想  阅读(7607)  评论(0编辑  收藏  举报

导航