centos go 安装 使用

#goland

确保能ping通百度
[root@z my_project]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 114.114.114.114

#install
centos7.6 1810

//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=//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=//mirrors.aliyun.com/goproxy/,direct

# 配置 GOPROXY 环境变量,以下三选一

# 1. 七牛 CDN
export GOPROXY=//goproxy.cn,direct

# 2. 阿里云
export GOPROXY=//mirrors.aliyun.com/goproxy/,direct

# 3. 官方
export GOPROXY=//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/storConsole
[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

# 进行您的项目.
cd “my project in GOPATH”
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包管理中

Tags: