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: