1.下载二进制包
wget https://golang.google.cn/dl/go1.17.6.linux-amd64.tar.gz
2.将下载的二进制包解压至 /usr/local目录
cd /usr/local tar -zxvf go1.17.6.linux-amd64.tar.gz
3.将 /usr/local/go/bin 目录添加至 PATH 环境变量
(1)编辑配置文件
cd ~ vim /etc/profile
(2)加入内容
# goland
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/gopath/
export PATH=$PATH:$GOROOT/bin
注意:GOPATH的值不能与GOROOT相同
(3)在GPPATH目录下新建 bin、pkg、src 三个文件夹
cd /usr/local/go/gopath/
mkdir bin
mkdir pkg
mkdir src
(4)刷新配置文件
source /etc/profile
Golang环境变量设置详解 - Go语言中文网 - Golang中文社区
【mac】(1)下载pkg安装包
https://golang.google.cn/dl/
(2)修改配置文件.bash_profile
vim .bash_profile
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/gopath/
export PATH=$PATH:$GOROOT/bin
备注:GOPATH决定依赖存放位置
(2)在GPPATH目录下新建 bin、pkg、src 三个文件夹
cd /usr/local/go/gopath/
mkdir bin
mkdir pkg
mkdir src
(3)刷新配置文件
source .bash_profile
【Windows】
(1)配置GOROOT
GOROOT的变量值即为GO的安装目录/usr/local/go
(2)配置GOPATH
GOPATH的变量值即为存储Go语言项目的路径/usr/local/go/Go_WorkSpace
在上述GOPATH对应路径下,新建 bin、pkg、src 三个文件夹,见下图:
(3)配置Path
Path中有其他安装程序的配置信息,这里再增加一个GO的bin目录/usr/local/go/bin
(4)验证是否配置成功
go env
(5)通过命令查看安装的Go的版本
go version
【帮助】
go help gopath
【注意事项】
依赖安装位置 GOPATH=/usr/local/go/gopathGOPATH可以是一个目录列表,执行 go get下载的第三方库,一般都会下载到列表的第一个目录里面需要把GOPATH中的可执行目录也配置到环境变量中, 否则你自行下载的第三方go工具就无法使用了GOPATH必须包含src、pkg、bin三个文件 go依赖包管理【安装第三方依赖】
go install github.com/xuri/excelize
go get github.com/xuri/excelize
模块化安装
go get github.com/xuri/excelize/v2
(1)如果遇到提示“go get: module github.com/xuri/excelize/v2: Get "https://proxy.golang.org/github.com/xuri/excelize/v2/@v/list": dial tcp 142.251.42.241:443: i/o timeout”
解决办法:开启翻墙或设置国内镜像
(2)如果遇到提示“go: could not create module cache: mkdir /usr/local/go/gopath/pkg/mod: permission denied”
解决办法:
先执行下面命令创建mod,再重新执行模块安装命令
sudo mkdir /usr/local/go/gopath/pkg/mod
go依赖包管理
【更新第三方方依赖】
go get -u github.com/xuri/excelize/v2
【使用go modules】
sudo mkdir /usr/local/go/gopath/pkg/mod
go mod 是官方的包管理工具,之前有非官方的包管理工具,例如:go vendor等工具
发展历程在go1.11版本之后,go mod就被指定为官方包管理工具,它提供了更加灵活的管理办法,可以对包进行版本控制,而且你的项目也不需要一定放在GOPATH下了。
在Go 1.14中,模块支持被认为已准备好用于生产,并且鼓励所有用户从其他依赖项管理系统迁移到模块。
建议使用 Go 1.15及以后的版本
Using Go Modules - The Go Programming Language
使用前需做的准备set GO111MODULE=on
可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。
GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持。
在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 GOPATH/pkg/mod中,也会把goinstall的结果放在GOPATH/bin 中
set GOPRIVATE=XXX.XXX.com
该命令为使用代理时,过滤GOPRIVATE设置的域名下的包下载,通常为私有库
该命令为 Go 1.13版本新增的特性
set GOPROXY=https://goproxy.cn
该命令为设置代理,防止被qiang,按需设置
还有其他代理如,https://goproxy.io;http://mirrors.aliyun.com/goproxy/
Go Mod 命令download download modules to local cache (下载依赖的module到本地cache))
edit edit go.mod from tools or scripts (编辑go.mod文件)
graph print module requirement graph (打印模块依赖图))
init initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件))
tidy add missing and remove unused modules (增加丢失的module,去掉未用的module)
vendor make vendored copy of dependencies (将依赖复制到vendor下)
verify verify dependencies have expected content (校验依赖)
why explain why packages or modules are needed (解释为什么需要依赖)
实 ***
1. 执行go mod init
go mod init demo
执行完两句命令之后,你会看到,项目下多了go.mod和go.sum文件。
go.mod: 可以理解为包管理文件
go.sum: 可以理解为包的版本控制文件
更准确地来说,go.sum是一个构建状态跟踪文件
注意:
2. go mod tidygo mod tidy
使用go mod之后,包下载之后是放在了$GOPATH/pkg/mod下
参考文档:
https://blog.csdn.net/benben_2015/article/details/82227338
https://blog.csdn.net/wangyufeng43400141/article/details/107170481/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)