确保能ping通百度
[root@z my_project]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 114.114.114.114
#install
centos7
https://golang.google.cn/dl/ go官网下载对应版本的tar包
tar -xzvf go1.14.6.linux-amd64.tar.gz -C /usr/local/
vi /etc/profile 在底部添加路径:
export GOROOT=/usr/local/go export GOPATH=/root/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin export GO111MODULE=on //看项目是使用go path 引入还是 go mod export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
保存后 source /etc/profile
新建一个 /root/go 目录,为项目代码路径,可更改其他路径
/root/go 中新建src,pkg,bin 目录 ,项目代码放在 src 中
安装完go ,go version 查看到版本则成功
go env 查看 配置
PATH要指定goroot安装目录bin ,和项目路径gopath下bin 这样在项目路径下go get 的go库能够找到
#centos go语言 开启代理 国内镜像
1.使用go1.11以上版本并开启go module机制 2.GOPROXY环境变量 export GO111MODULE=on //linux 、MAC set GO111MODULE=on //Windows export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct # 配置 GOPROXY 环境变量,以下三选一 # 1. 七牛 CDN export GOPROXY=https://goproxy.cn,direct # 2. 阿里云 export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct # 3. 官方 export GOPROXY=https://goproxy.io,direct
#package 'xxx' is not in GOROOT
项目 go run main.go 时报错
go env 查看环境
如果要用 gopath 模式 引入包 从src目录下开始引入 需要关闭 go mod 模式
export GO111MODULE=off
如果使用go mod 模式
export GO111MODULE=on
并且在项目目录下执行 go mod init
目录下产生两个文件 go.mod go.sum
#govendor
install [root@z my_project]# pwd /root/go/src/myProject [root@z my_project]# [root@z my_project]# [root@z my_project]# [root@z my_project]# go get -u github.com/kardianos/govendor [root@z my_project]# //这一步应该很慢,等待 [root@z my_project]# govendor 在项目路径下 govendor init ,然后用 go fetch 直接下载包并引入到项目的vendor 管理包中 [root@z my_project]# govendor fetch github.com/safchain/ethtool
# 进到项目路径下.初始化govendor
govendor init
# 添加 GOPATH 中已存在的文件到 vendor.
govendor add +external
# 列出项目依赖列表.
govendor list
# 查看一个包在哪些地方被使用
govendor list -v fmt
# 指定要获取的特定版本或修订版本
govendor fetch golang.org/x/net/context@a4bbce9fcae005b22ae5443f6af064d80a6f5a55
govendor fetch golang.org/x/net/context@v1 # Get latest v1.*.* tag or branch.
govendor fetch golang.org/x/net/context@=v1 # Get the tag or branch named "v1".
# 将一个包更新到最新,并指定上一个版本的约束
govendor fetch golang.org/x/net/context
# 仅仅格式化您自己的仓库
govendor fmt +local
# 仅构建你仓库中的任何内容
govendor install +local
# 仅仅测试你自己的仓库
govendor test +local
#在项目路径中初始化govendor后,
govendor get github.com/safchain/ethtool get 包
govendor add github.com/safchain/ethtool add 到vendor包管理中