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

Golang 解决 Iris 被墙的依赖包的更多相关文章

  1. golang使用vendor目录来管理依赖包

    Vendor目录介绍 随着Go 1.5 release版本的发布,vendor目录被添加到除了GOPATH和GOROOT之外的依赖目录查找的解决方案.在Go 1.6之前,你需要手动的设置环境变量GO1 ...

  2. .Net Core利用反射动态加载类库的方法(解决类库不包含Nuget依赖包的问题)

    在.Net Framework时代,生成类库只需将类库项目编译好,然后拷贝到其他项目,即可引用或动态加载,相对来说,比较简单.但到了.Net Core时代,动态加载第三方类库,则稍微麻烦一些. 一.类 ...

  3. glide 解决 golang.org/x/net 等依赖包无法获取

    知道glide有设置镜像功能,可以把某个依赖包的源地址切换为另一个地址,相当于切换到镜像地址,用于某些依赖包被墙的原因 之前碰到 golang.org/x/net,设置镜像: glide mirror ...

  4. 保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java、Golang两种客户端教学Case)

    保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java.Golang两种客户端教学Case)   目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitM ...

  5. Linux安装软件时缺少依赖包的简单较完美解决方法!

    大家在linux下源码安装时,有木有经常碰到缺少这个包那个包的,然后不知所措?看到最近有几个筒子安装thrift,安装python因缺少依赖包而进行不下去了.我用的是红帽,装系统的时候习惯把所有的有的 ...

  6. Core 2.0 的dll实时更新、https、依赖包变更问题及解决

    今天所有开发环境已经迁移到mac OS下的Visual Studio Code + 命令行编译发布,而运行服务器是CentOS7,和windows没什么关联了. 只要你Relese编译并在本地有一个与 ...

  7. maven dependcymanage作用在父类里面定义依赖包 子类不会自动继承需要主动使用 这样解决了父类引用任意包 子类就会引用的问题

    maven dependcymanage作用在父类里面定义依赖包 子类不会自动继承需要主动使用 这样解决了父类引用任意包 子类就会引用的问题  子类在引用时候 不需要加上版本号

  8. dpkg安装deb缺少依赖包的解决方法

    [先贴出解决方案(基于Ubuntu)]: 使用dpkg -i   *.deb 的时候出现依赖没有安装 使用apt-get -f -y install  解决依赖问题后再执行dpkg安装deb包 === ...

  9. golang包管理工具及环境管理工具;如何下载外网的依赖包

    简介: golang的包管理工具类似于java的maven.python的pip.js的npm,可以实现依赖包的统一管理:有很多:govendor.godep.glide,挑一个自己喜欢的用吧.mac ...

随机推荐

  1. 【POJ - 2676】Sudoku(数独 dfs+回溯)

    -->Sudoku 直接中文 Descriptions: Sudoku对数独非常感兴趣,今天他在书上看到了几道数独题: 给定一个由3*3的方块分割而成的9*9的表格(如图),其中一些表格填有1- ...

  2. 9.22考试 crf的视察 题解

    这道题当时第一反应就是一道典型的NOIP第一题的难度,绝对要A掉,不然分数一定会被拉开. 然后就开始分析,暴力是一开始想的是用二维树状数组打加上暴力枚举长度,然而这道题满足二分性质,所以时间复杂度就是 ...

  3. c++小游戏:洛谷彩票

    #include <cstdlib> #include <iostream> #include <cstdio> #include <cmath> #i ...

  4. c语言进阶7-结构体

    一.  结构体: 在程序设计基础当中我们学习了变量,变量可以节省使用空间相对于常量而言,大家来看下表: 学号 姓名 职位 性别 数学 英语 语文 总成绩 1 刘琳 班委 女 50 61 56 167 ...

  5. SQL SERVER Suspect(质疑/挂起) 状态恢复

    数据库服务器,在断电时,偶尔会出现Suspect状态,导致数据库无法使用. 解决办法如下: 数据库名带‘[]’可以避免库名中带‘.’等特殊符号的情况. USE [master]GOALTER DATA ...

  6. C++里long的字节数

    标准规定long的大小不小于int也就是说sizeof(long)>=sizeof(int). Numerical type sizes in C (bits) Platforms  \   T ...

  7. python检测是否是质数

    python检测是否是质数 编写python脚本,使得实现以下功能: 输入一个整数,通过脚本判断出输入的这个数是否是质数,然后输出是否是质数. 脚本如下图所示: Num = input("P ...

  8. chapter01作业

    1. 请用命令查出ifconfig命令程序的绝对路径 [root@localhost chen]# which ifconfig /usr/sbin/ifconfig 2.请用命令展示以下命令哪些是内 ...

  9. 二进制文件安装安装flannel

    二进制文件安装安装flannel overlay网络简介 覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题. 详细说来,覆盖网络是指建立在另一个网络上的网络.该网络中的结 ...

  10. CodeForces 372 A. Counting Kangaroos is Fun

    题意,有n只袋鼠,没每只袋鼠有个袋子,大小为si,一个袋鼠可以进入另外一个袋鼠的袋子里面,当且仅当另一个袋鼠的袋子是他的二倍或二倍一上,然后中国袋鼠就是不可见的,不能出现多个袋鼠嵌套的情况.让你求最少 ...