go语言:环境变量GOPROXY和GO111MODULE设置
前言
在上一篇文章go语言:go sdk安装及GOROOT和GOPATH设置
中介绍了golang的安装及环境变量的设置,GOROOT和GOPATH需要在windows中操作。当我们安装完golang后,我们在windows的cmd命令下就可以直接查看和使用go命令和环境变量了,同样的在linux下可以在控制台使用,如下图所示:
我们也可以直接输入go,查看go支持的命令
GOPROXY
从字面意思就能看出,GOPROXY表示的是go的代理设置,之所以有这个环境变量,是因为go这种语言不像C语言,在C语言中,如果我们想要使用别人的第三方代码,一般有两种途径:
1、将第三方代码源码合并到自己的工程文件中,再合并编译。
2、将第三方代码编译生成的共享库***.so或*.dll** 文件放到工程目录下,然后通过条件编译来使用。
而在go语言中,类似于java,可以在编程时,引入第三方代码的库地址,比如git仓库,然后在编译的时候,IDE会自动的拉取第三方库文件到当前工程。
这样做虽然很方便,但是带来了一个问题:网速和限制,因为一些第三方代码库是在国外服务器上的,因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个 代理来实现下载,这个代理就是中间商,可以跨过限制来访问。
golang默认的GOPROXY是https://goproxy.io,这个是官方的设置,我们可以使用国内的代理,Windows下设置如下:
打开终端并执行
go env -w GOPROXY=https://goproxy.cn,direct
其中**-w** 表示 写 操作。
GO111MODULE
GO111MODULE是 go modules 功能的开关,关于go modules本文不详述,这个涉及到go的一种很重要的管理机制,后面会有专门的文章来分析,我们可以简单的理解为,在没有go modules机制时,go工程中对于第三方功能包的管理非常复杂,也非常专业,这就导致程序员在进行开发的时候,对于第三方功能包的管理很不方便,所以才有了go modules机制。这个机制的开关是通过GO111MODULE环境变量来配置的。
- GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
- GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
- GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
(1)当前目录在GOPATH/src之外且该目录包含go.mod文件,开启模块支持。
(2)当前文件在包含go.mod文件的目录下面。
在使用go modules时,GOPATH是无意义的,不过它还是会把下载的依赖存储在$GOPATH/pkg/mod 中,也会把go install 的结果放在 $GOPATH/bin 中。
当modules 功能启用时,依赖包的存放位置变更为$GOPATH/pkg,允许同一个package多个版本并存,且多个项目可以共享缓存的module。
命令设置如下:
go env -w GO111MODULE=on
go语言:环境变量GOPROXY和GO111MODULE设置相关推荐
- golang:环境变量GOPROXY和GO111MODULE设置
我们安装完golang后,我们在windows的cmd命令下就可以直接查看和使用go命令和环境变量了,同样的在linux下可以在控制台使用,如下图所示: C:\Users\lijie1>go e ...
- java语言环境变量_JAVA语言环境变量的设置教程
本文主要向大家介绍了JAVA语言环境变量的设置教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 安装JDK到目录,我这里是C:\Java 右键点击计算机属性 在系统变量里面建 JA ...
- ug更改java的环境变量_UG中的语言环境变量设置
原标题:UG中的语言环境变量设置 今天与大家分享怎样更改UG中的语言环境变量,语言的更改经常要用,特别是在英语和中文之间切换. 在Windows的操作系统中,UG软件的工作路径是由系统注册表和环境变量 ...
- java 环境变量 locale,修改locale把语言环境变量改为英文
把语言环境变量改为英文 将Ubuntu系统语言环境改为英文的en_US.UTF-8 查看当前系统语言环境 locale 编辑配置文件,将zh_US.UTF-8改为en_US.UTF-8,zh改为en ...
- go基础库之环境变量的获取与设置以及如何使用默认值
golang 基础库之 go 获取命令行参数,介绍了环境变量的获取与设置以及如何使用默认值 环境变量的获取与设置以及如何使用默认值 Golang 版本 1.12.1 前言 环境变量作为配置选项可以显著 ...
- 把语言环境变量改为英文
修改locale 把语言环境变量改为英文 将Ubuntu系统语言环境改为英文的en_US.UTF-8 查看当前系统语言环境 locale 编辑配置文件,将zh_US.UTF-8改为en_US.UTF- ...
- linux系统如何切换语言环境变量,Linux系统中如何修改某用户语言环境变量
在所管理的服务器上,有的可以在终端里面输入汉字,有的不行,会显示乱码.比较其相对应的环境变量.发现关于语言的环境变量不一样.在网上搜索了大量的资料,没有找到解决的方法.看了鸟哥书中相关的部分才找到解决 ...
- centos配置c语言环境变量,CentOS7设置环境变量
一.环境变量的概念 1.环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的. 2.环境变量的分类 1)按生效的范围分类. 系统环境变量:公共的,对全部的 ...
- c语言环境变量win10,设置系统环境变量是干嘛的?教你在哪设置win10环境变量
首先我们要了解什么是环境变量,环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.如果你为了想你的电脑快速地启动或运行某些应用或程序可以试着使用环境变量,在特殊 ...
最新文章
- 【备忘1】防止表格/层 被撑破的CSS控制代码
- C#引用类型转换的几种方式
- 多线程编程的一点小心得(1)
- PIX的AAA认证配置
- x264源代码分析1。fread()
- 论文浅尝 | 用于开放领域的问题生成
- MySQL 分组查询
- idea module取得是parent的文件路径_React(或使用TS)中样式混乱解决方案 *.module.less...
- 二叉搜索树(二叉排序树)
- pythonjson中list操作_python中JSON的使用
- [转载] 字符串的startsWith和endWith方法
- bzoj 2763: [JLOI2011]飞行路线 分层图
- JavaScript学习笔记01——简介(李炎恢JavaScript教程)
- 反编译so库破解so
- 商家冷启难题,快手每天8亿流量能解决吗?
- linux est 时间,Linux中的时区设置
- 第一回 网管是个苦差事
- 获取ios设备的电池信息
- MacBook Pro 完美分屏
- jupyter安装使用