使用 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. bzoj1584 9.20考试 cleaning up 打扫卫生

    1584: [Usaco2009 Mar]Cleaning Up 打扫卫生 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 549  Solved: 38 ...

  2. Fedora dnf配置

    1.在配置文件/etc/dnf/dnf.conf中加入: fastestmirror=true keepcache=true 这样下载安装软件就快多了. 2.dnf常用命令 检查并升级可用软件包: $ ...

  3. 个人永久性免费-Excel催化剂功能第91波-地图数据挖宝之行政区域信息实时下载(含经纬度)

    移动互联网和O2O兴起的这十年时间里,由地图LBS功能衍生出一大堆的极高商业价值的数据及应用,地图相关的数据,也是数据分析过程中一个大宝藏,从此篇开始将带给大家一系列的地图相关的数据采集,满足数据分析 ...

  4. C语言入门4-运算符和表达式

    一.     分类 C语言一共有34种运算符,10种运算类型,本节我们要掌握的有( 7 种) 算术运算符(+.-.*./.%). 关系运算符(>.>=.==.!=.<.<=). ...

  5. AppBoxFuture: 二级索引及索引扫描查询数据

      数据库索引对于数据查询的重要性不可言喻,因此作者在存储层实现了二级索引,以及利用索引进行扫描的功能.目前仅实现了分区表与非分区表的本地索引(数据与索引共用一个Raft组管理),全局索引及反向索引待 ...

  6. Linux系统安装jdk——rpm版

    这里简单地阐述一下rpm.deb.tar.gz的区别. rpm格式的软件包适用于基于Red Hat发行版的系统,如Red Hat Linux.SUSE.Fedora. deb格式的软件包则是适用于基于 ...

  7. vue.js-vue入门教程教你如何html中使用vue(30分钟快速入门)

    前后端分离.微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者.下面重点介绍一下vue的用法: vue起步:1.引包    2.启动new Vue({el:目的地,template:模板内容 ...

  8. 深挖Openstack Nova - Scheduler调度策略

    深挖Openstack Nova - Scheduler调度策略   一.  Scheduler的作用就是在创建实例(instance)时,为实例选择出合适的主机(host).这个过程分两步:过滤(F ...

  9. 初始SpringMVC 完整版

    初始SpringMVC 1.SpringMVC 也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. 2.Java EE ...

  10. Java入门 面向对象第一天

    面向对象 人为抽象的一种编程模型,在理解面向对象的代码时要按照抽象的模型来理解,不能只从代码字面来理解复杂的问题,学会拆分成一个一个独立的小问题,通过解决每一个小问题,最后解决一个大问题 类 类是事物 ...