主頁 > 知識(shí)庫(kù) > golang 在windows中設(shè)置環(huán)境變量的操作

golang 在windows中設(shè)置環(huán)境變量的操作

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 AI電銷 服務(wù)外包 地方門戶網(wǎng)站 鐵路電話系統(tǒng) Linux服務(wù)器 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化

安裝完成后需要在系統(tǒng)環(huán)境變量中設(shè)置

GOPATH為項(xiàng)目目錄

GOROOT為安裝目錄

path中設(shè)置好安裝目錄到bin目錄

打開cmd,輸入go env,出現(xiàn)如下配置生效

補(bǔ)充:Golang 環(huán)境變量須知

1.前言

無論你是使用 Windows、Linux 還是 Mac 操作系統(tǒng)來開發(fā) Go 應(yīng)用程序,在安裝好 Go 安裝語言開發(fā)工具之后,都必須配置好 Go 語言開發(fā)所要求的 環(huán)境變量,才算初步完成 Go 開發(fā)環(huán)境的搭建。

但對(duì)于一些初學(xué)者來說,可能不太明白 Go 語言中常用的環(huán)境變量的作用以及如何設(shè)置環(huán)境變量,下面在 Windows 環(huán)境下來講講。

2.查看環(huán)境變量

安裝完 Go 后,我們可以使用 go env 命令查看當(dāng)前 Go 的所有默認(rèn)環(huán)境變量。

go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\dablelv\AppData\Local\go-build
set GOENV=C:\Users\dablelv\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\go\pkg\mod
set GONOPROXY=git.code.oa.com,git.woa.com
set GONOSUMDB=git.code.oa.com,git.woa.com
set GOOS=windows
set GOPATH=D:\go
set GOPRIVATE=git.code.oa.com,git.woa.com
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\code\kknock\KnockKnock\application\group_srv\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\dablelv\AppData\Local\Temp\go-build853783354=/tmp/go-build -gno-record-gcc-switches

也可以查到指定環(huán)境變量的值。

go env GOROOT
C:\Program Files\Go

Go 語言中可以設(shè)置的環(huán)境變量有很多,每個(gè)環(huán)境變量都有其作用,不過很多我們可能都用不到,一般需要了解下面幾個(gè)最常用的就夠了。

GOROOT
GOPATH
GO111MODULE
GOPROXY
GOPRIVATE
GOBIN
GOOS
GOARCH

關(guān)于環(huán)境變量的詳細(xì)說明,可使用命令go help environment查詢。

GOROOT

GOROOT 表示 Go 語言的安裝目錄。

GOROOT 的作用是用來索引 Go 語言的安裝目錄下的相關(guān)資源,比如 bin 目錄的工具(如 go 命令),src 目錄下的源碼等。

GOPATH

GOPATH 用于指定我們的開發(fā)工作區(qū),可以有多個(gè)。

按照 Go 開發(fā)規(guī)范,GOPATH 目錄下一般分為三個(gè)子目錄 src,pkg,bin。

src 目錄存放我們需要開發(fā)的項(xiàng)目源碼,pkg 存放依賴的包和編譯后的靜態(tài)庫(kù)文件,bin 放源代碼編譯后臺(tái)的可執(zhí)行文件。

下面是一個(gè) GOPATH 目錄示例布局。

GOPATH=/home/user/go
/home/user/go/
    src/
        foo/
            bar/               (go code in package bar)
                x.go
            quux/              (go code in package main)
                y.go
    bin/
        quux                   (installed command)
    pkg/
        linux_amd64/
            foo/
                bar.a          (installed package object)

注意:

(1)如果 GOPATH 未顯示設(shè)置,則默認(rèn)為用戶主目錄中名為 go 的子目錄。Unix 下為$HOME/go,Windows 下為%USERPROFILE%\go(一般為C:\Users\YourName\go),Plan 9 下為$home/go。

(2)使用模塊時(shí),GOPATH 不再用于解析導(dǎo)入,但是它仍然用于存儲(chǔ)下載的源代碼(在GOPATH/pkg/mod中)和編譯的命令(在GOPATH/bin中)。

(3)使用命令go help gopath可查看 GOPATH 詳細(xì)說明。

GO111MODULE

在 go1.11 的時(shí)候推出了這個(gè) go modules 來解決依賴管理的問題。

通過變量 GO111MODULE 來控制 Go Module 的開啟和關(guān)閉,取值 off、on 或 auto。

從 Go 1.13 開始,Go Module 作為 Golang 中的標(biāo)準(zhǔn)包管理器。

GOPROXY

go get 下載依賴時(shí)使用的代理地址列表,使用逗號(hào) (,) 或豎杠 (|) 分隔。

當(dāng)用 go 命令查找依賴模塊時(shí),它會(huì)按順序訪問 GOPROXY 列表中的每個(gè)代理,直到收到成功的響應(yīng)或出現(xiàn)終端錯(cuò)誤。

GOPROXY 中可能會(huì)存在兩個(gè)關(guān)鍵字來代替代理URL:

off:不允許從任何源下載依賴的模塊

direct: 直接從版本控制存儲(chǔ)庫(kù)下載,而不是使用模塊代理

GOPROXY 缺省值為https://proxy.golang.org,direct。

GOPRIVATE

go get 通過代理服務(wù)拉取倉(cāng)庫(kù)時(shí),因?yàn)榇矸?wù)不可能訪問到私有倉(cāng)庫(kù)(一般為企業(yè)內(nèi)部代碼管理平臺(tái)),會(huì)出現(xiàn) 404 錯(cuò)誤。

go1.13 版本提供了一個(gè)方便的解決方案:GOPRIVATE 環(huán)境變量。

如:

setx GOPRIVATE=gitlab.com,git.woa.com

GOBIN

用于存儲(chǔ)我們使用go install命令安裝的程序。

如果沒有設(shè)置 GOBIN,程序一般會(huì)安裝到為GOPATH/bin目錄。

GOOS

當(dāng)前的操作系統(tǒng)。例如 linux、darwin、windows、netbsd、freebsd、openbsd、solaris、plan9 等。

注意 mac os對(duì)應(yīng)的值是 darwin。

GOARCH

表示 CPU 架構(gòu)。如 amd64、386、arm、ppc64 等。

3.小結(jié)

環(huán)境變量的設(shè)置,可以影響我們開發(fā)和編譯項(xiàng)目的過程與結(jié)果,所以還是很有必要了解一下的。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • go語言 全局變量和局部變量實(shí)例
  • golang通過反射設(shè)置結(jié)構(gòu)體變量的值
  • 詳解Go語言變量作用域
  • 關(guān)于Golang變量初始化/類型推斷/短聲明的問題
  • 淺談golang并發(fā)操作變量安全的問題
  • go語言的初始化順序,包,變量,init詳解
  • 解決golang 關(guān)于全局變量的坑

標(biāo)簽:銅川 湘潭 崇左 衡水 湖南 仙桃 黃山 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang 在windows中設(shè)置環(huán)境變量的操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266