• Win10系统下设置Go环境变量


    前言

    本人安装Window系统下的Go语言的相关信息如下:

    Go语言版本:go1.14.6

    安装包:go1.14.6.windows-amd64.msi

    安装路径:D:Program FilesGo

    Win10系统下配置Go语言环境变量

    • 打开Win10下的环境变量设置界面

    右键我的电脑->属性->高级系统设置->环境变量。

    它有用户变量和系统变量。两者的区别是用户变量下配置只对当前用户有效,系统变量下配置对所有用户有效。本人建议在用户变量下配置。

    • 配置 GOROOT

    选择<新建>按钮。

    变量名:GOROOT

    变量值:D:Program FilesGo

    • 配置 path

    找到path(如果不存在,则新建),点击编辑—>新建,输入:%GOROOT%in

    保存成功后,按下 Windows+X−>命令提示符,打开DOS命令行,输入:go env

    如果能够成功打印出Go语言的相关环境变量,即表示配置成功。例如,打印出Go的版本信息:

    输入: go version
    go version go1.14.6 windows/amd64

    • 配置 GOPATH

    GOPATH 环境变量是Go项目的工作目录。如果你的项目路径是在:D:go_workgo目录下进行的,go目录下一般有以下三个子目录,分别是:src、pkg 和 bin。

    变量名:GOPATH

    变量值:D:go_workgo

    • 配置 GOPROXY

    Go默认的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。这个goproxy在使用go get安装第三方库的时候会报错,导致无法下载成功(原因你懂的)。所以必须要修改一下。

    变量名:GOPROXY

    变量值:https://goproxy.cn,direct  或者修改为:

    GOPROXY的值还可以修改为:https://goproxy.io,direct 或 https://mirrors.aliyun.com/goproxy

    • 配置 GO111MODULE

    GO111MODULE环境变量主要是用来开启或关闭模块支持的。

    它有三个可选值:offonauto,默认值是 auto

    • GO111MODULE=off  无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
    • GO111MODULE=on    模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
    • GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。

    在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/src/mod 中,也会把 go install 的结果放在 $GOPATH/bin 中。

    可以在DOS命令行下直接使用 go env -w 进行设置。

    这个环境变量是在Go-1.11版本引入的,在go1.11版本前,想要对go语言包进行管理,只能依赖第三方库实现,比如Vendor,GoVendor,GoDep,Dep,Glide等等。由于我安装的Go语言是1.14版本的,所以选择开启模块支持,设置如下:

    go env -w GO111MODULE=on
    

     <说明> 也可以使用上面的方法设置环境变量的值,但是个人觉得这种命令行设置的方式更方便一些。可以用 go env -u 恢复其默认设置。例如,恢复GO111MODULE的默认值,可以使用:

    go env -u GO111MODULE
    

     <备注> 从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的Go语言依赖包管理问题。go module 是Go语言从 1.11 版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始,go module 成为了Go语言默认的依赖管理工具。

    在Go语言 1.12 版本之前,要启用 go module 工具首先要设置环境变量 GO111MODULE,不过在Go语言 1.13 及以后的版本则不再需要设置该环境变量。

    参考

    GO111MODULE的设置(及GOPROXY)

    golang版本管理工具GO111MODULE

    Go语言之依赖管理

    Go语言的依赖管理及如何使用

  • 相关阅读:
    动态规划(决策单调优化):BZOJ 4518 [Sdoi2016]征途
    数据结构(树链剖分,线段树):SDOI 2016 游戏
    图论(费用流):BZOJ 4514 [Sdoi2016]数字配对
    搜索(四分树):BZOJ 4513 [SDOI2016 Round1] 储能表
    数据结构(KD树):HDU 4347 The Closest M Points
    数学(逆元):BZOJ 2186: [Sdoi2008]沙拉公主的困惑
    数学:UVAoj 11174 Stand in a Line
    线性代数(矩阵乘法):POJ 2778 DNA Sequence
    线性代数(矩阵乘法):NOI 2007 生成树计数
    线性代数(矩阵乘法):POJ 3233 Matrix Power Series
  • 原文地址:https://www.cnblogs.com/yunfan1024/p/13497686.html
Copyright © 2020-2023  润新知