Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >安装go语言环境

安装go语言环境

原创
作者头像
willsiom
修改于 2024-02-19 11:34:37
修改于 2024-02-19 11:34:37
2040
举报
文章被收录于专栏:沈钦华的专栏沈钦华的专栏

下载安装包

到官网找到go的安装包,根据操作系统和架构,选择对应的包。这里以linux为例

解压

将下载下来的二进制包解压到/usr/local/目录下

代码语言:bash
AI代码解释
复制
tar -zxvf go1.19.13.linux-amd64.tar.gz -C /usr/local/

修改环境变量

代码语言:bash
AI代码解释
复制
vim ~/.bash_profile

将/usr/local/go/bin添加到PATH

如果环境中已经存在预装的其他版本的go,又想优先使用新安装的版本。那么可以把/usr/local/go/bin添加到PATH的前面

go环境的一些配置

代码语言:bash
AI代码解释
复制
go env -w GO111MODULE="on"
go env -w GOPROXY="https://goproxy.cn,direct"  # 根据实际需要配置
go env -w GOPRIVATE=""
go env -w GONOSUMDB="git.xxx.xxx.com"  # 根据实际需要配置

配置完成后,可以使用go env查看修改后的配置

这里一些go env配置的说明

配置名

说明

GO111MODULE

go官方自带的依赖管理库,在1.13版本开始正式退出。默认值为空(由go自行判断是否开启module,判断依据为当前项目根目录下是否有go.mod文件)。可以手工修改为on(全部开启)或者off(全部不开启,不建议)

GOPROXY

go的全局代理,下载依赖包使用。一般都是访问github仓库,国内经常访问不到,所以最好设置一个速度快的代理

GOPATH

go 1.11版本之前,GOPATH主要用于指定我们开发工作区,是存放源代码、测试文件、库静态文件、可执行文件的目录。1.11版本引入module后,GOPATH的作用就不大了。在开启go module功能后,使用go get下载的依赖包就存放在$GOPATH/pkg/mod目录下

GOMODCACHE

存放下载的依赖包的目录,默认值为$GOPATH/pkg/mod,修改gopath值那么这个值也会响应变化

GOCACHE

存放go项目构建过程中产生的缓存

GOENV

存放go环境变量的配置文件。这个值一般不需要修改

GOROOT

go语言的安装目录,这个值切记不用修改,保持默认即可

GOSUMDB

官方设定的go module校验库。服务器地址为sum.golang.org。和go.mod一样,go会为我们维护一个go.sum的文件,它包含了对依赖包计算得到的校验值。当本地依赖进行变动时(更新/添加)操作时,go会自动去这个服务器进行数据校验。如果GOSUMDB为“off”或者使用go get时启用了-insecure参数,go不会对下载的依赖包做安全校验

GONOSUMDB

设置不做校验的代码仓库,可以多个路径,逗号间隔。如果我们代码库或者模块是私有的,那么它的校验值肯定不会出现在互联网的公共数据库里面,但项目本地编译的时候默认所有的依赖下载都会去尝试校验,这样不仅校验失败,更会泄露一些私有仓库的路径等信息。这个时候可以使用这个配置项来屏蔽某些代码库的校验动作

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go Modules:Go语言依赖管理的新篇章
自从Go 1.11版本引入以来,Go Modules 已经成为了Go语言依赖管理的标准。接下来,我将用简单易懂的语言,带你一步步了解Go Modules的安装、使用和最佳实践。
南山竹
2024/06/06
4230
Go Modules:Go语言依赖管理的新篇章
GoPath模式和GoMoudle模式的相爱相杀
相信看我文章的文章的童鞋,golang版本已经是1.3版本以上。如果你的版本还停留在1.3以下,那这篇文章可以做为你的提升之法。
happlyfox
2021/03/17
6650
EasyNVR及EasyRTC平台使用Go语言项目管理GoVendor和gomod的使用总结
TSINGSEE青犀视频云边端架构体系的产品中,流媒体平台均是使用Go语言开发,因为遗留代码的问题,EasyNVR、EasyDSS等平台需要使用govendor进行代码的项目管理,而EasyRTC 等新项目则是采用gomod进行开发。以下是我们在开发平台过程中,对两者的使用进行的总结,现与大家分享下。
TSINGSEE青犀视频
2021/06/22
4520
Go语言笔记----GoMoudle
将你的包或者别人的包全部放在 $GOPATH/src 目录下进行管理的方式,我们称之为 GOPATH 模式。
大忽悠爱学习
2022/05/10
6030
Go语言笔记----GoMoudle
Go Modules 终极入门
Go modules 是 Go 语言中正式官宣的项目依赖解决方案,Go modules(前身为vgo)于 Go1.11 正式发布,在 Go1.14 已经准备好,并且可以用在生产上(ready for production)了,Go 官方也鼓励所有用户从其他依赖项管理工具迁移到 Go modules。
madneal
2020/03/10
1.9K0
Go Modules 终极入门
Zabbix5.0版本Agent2安装
Zabbix 5.0 版本推出了使用 go 语言重写的 Agent2,也是 5.0 版本新特性,Agent2 有如下特性:
Kevin song
2020/05/28
5.4K0
Golang学习笔记,从入门到精通,持续记录
Golang官网:https://go.dev/、Golang下载:https://go.dev/、Golang学习文档:https://go.dev/doc/
房东的狗丶
2023/02/17
1.3K0
干货满满的 Go Modules 和 goproxy.cn
大家好,我是一只普通的煎鱼,周四晚上很有幸邀请到 goproxy.cn 的作者 @盛傲飞(@aofei) 到 Go 夜读给我们进行第 61 期 《Go Modules、Go Module Proxy 和 goproxy.cn》的技术分享。
madneal
2019/11/28
1.3K0
[Golang]包管理
本文是本人在探索 Go 最新的包管理 Go Modules 的一些总结,希望能够更深入了解 Go 最新的包管理方式,以及在实际环境中将它很好的使用起来。
别打名名
2020/07/28
1.7K0
Go | 浅谈包管理模式
go的编译器会在 $GOPATH/src 下面寻找对应的模块,src 下的每一个目录都可以对应一个模块,目录中的目录也可以是一个模块
甜点cc
2022/11/16
5320
Go | 浅谈包管理模式
Go Modules知识点总结
起初Go语言在1.5之前没有依赖管理工具,若想引入依赖库,需要执行go get命令将代码拉取放入GOPATH/src目录下,作为GOPATH下的全局依赖,这也就意味着没有版本控制及隔离项目的包依赖;
Golang梦工厂
2023/02/26
8610
Go Modules知识点总结
Go Module详细使用教程,包管理不在难
go modules是 golang 1.11引入的新特性。模块是相关Go包的集合。modules是源代码交换和版本控制的单元。go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
公号:咻咻ing
2020/03/04
20.6K0
Go mod包依赖管理工具使用详解
对比上面几点: 目前做的最好的也就 maven了,gradle没有使用过,不知道。
OwenZhang
2021/12/08
1K0
Go mod包依赖管理工具使用详解
Go 开发常用操作技巧--模块管理
Go 依赖管理经历了 3 个阶段,GOPATH、Go Vendor、Go Module。
微客鸟窝
2023/01/09
5730
Go 开发常用操作技巧--模块管理
Go依赖模块版本之Module避坑使用详解
对于Go的版本管理主要用过 glide,下面介绍 Go 1.11 之后官方支持的版本管理工具 mod。
sunsky
2020/08/20
4.6K0
第一个Go语言类库:启用、创建并发布第一个模块
模块化是编程界的潮流,无论是前端Vue、微信小程序开发,还是后端Node.js、Golang开发,都讲究模块化。模块化的本质是分工协作,将功能相对独立完善的代码以模块方式发布,以便在其它程序中复用,这与汽车厂分别制造发动机、轮胎、车门等零件,然后再组装是一个道理。
LIYI
2021/02/23
1.3K0
【初识Go】| Day9 包管理
现在随便一个小程序的实现都可能包含超过10000个函数。然而作者一般只需要考虑其中很小的一部分和做很少的设计,因为绝大部分代码都是由他人编写的,它们通过类似包或模块的方式被重用。
yussuy
2020/12/23
4920
【初识Go】| Day9 包管理
GO语言介绍以及开发环境配置
1、下载二进制包:go1.13.3.linux-amd64.tar.gz 2、将下载的二进制包解压至 /usr/local目录。
小小咸鱼YwY
2020/06/19
5300
Go语言基本环境变量与依赖管理
最近开始系统学习一下Golang这么新语言,记录一下它的基本环境变量配置以及依赖管理方式。编写本文的时候使用的Golang版本为go1.13.5 windows/amd64,其他版本不一定保证适合本文的内容。因为习惯,可能有时候把Go语言称为Go,有时候称为Golang。
Throwable
2020/06/23
9.3K1
简单聊聊 GOPATH 与 Go Modules
话说胖虎最近招了一个实习生,实习生进来也有一段时间了,天天一个人坐在工位,很少跟周围的同事交流,也不知道有没有遇到什么问题。
后端时光
2022/08/19
8970
简单聊聊 GOPATH 与 Go Modules
相关推荐
Go Modules:Go语言依赖管理的新篇章
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档