当前位置:网站首页>GoLand environment variable configuration
GoLand environment variable configuration
2022-07-04 08:55:00 【liyinchi1988】
【linux】
1. Download binary package
wget https://golang.google.cn/dl/go1.17.6.linux-amd64.tar.gz
2. Extract the downloaded binary package to /usr/local Catalog
cd /usr/local tar -zxvf go1.17.6.linux-amd64.tar.gz
3. take /usr/local/go/bin Add directory to PATH environment variable
(1) Edit profile
cd ~ vim /etc/profile
(2) Add content
# goland
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/gopath/
export PATH=$PATH:$GOROOT/bin
Be careful :GOPATH The value of cannot be the same as GOROOT identical
(3) stay GPPATH New under the directory bin、pkg、src Three folders
cd /usr/local/go/gopath/
mkdir bin
mkdir pkg
mkdir src
(4) Refresh profile
source /etc/profile
【mac】
(1) download pkg Installation package
(2) Modify the configuration file .bash_profile
vim .bash_profile
export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/gopath/
export PATH=$PATH:$GOROOT/bin
remarks :GOPATH Decide to rely on storage location
(2) stay GPPATH New under the directory bin、pkg、src Three folders
cd /usr/local/go/gopath/
mkdir bin
mkdir pkg
mkdir src
(3) Refresh profile
source .bash_profile
【Windows】
(1) To configure GOROOT
GOROOT The variable value of is GO Installation directory /usr/local/go
(2) To configure GOPATH
GOPATH The variable value of is stored Go The path of language project /usr/local/go/Go_WorkSpace
In the above GOPATH In the corresponding path , newly build bin、pkg、src Three folders , See the picture below :
(3) To configure Path
Path There are configuration information of other installers in , Here's one more GO Of bin Catalog /usr/local/go/bin
(4) Verify that the configuration is successful
go env
(5) View the installed by command Go Version of
go version
【 help 】
go help gopath
【 matters needing attention 】
- Depending on the installation location GOPATH=/usr/local/go/gopath
- GOPATH It can be a list of directories , perform go get Downloaded third-party libraries , Generally, it will be downloaded to the first directory of the list
- Need to put GOPATH The executable directory in is also configured into the environment variable , Otherwise, the third party you download by yourself go Tools will not work
- GOPATH Must contain src、pkg、bin Three files
go Dependency package management
【 Install third party dependencies 】
go install github.com/xuri/excelize
go get github.com/xuri/excelize
Modular installation
go get github.com/xuri/excelize/v2
(1) If prompted “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”
terms of settlement : Turn on wall climbing or set Domestic mirror
(2) If prompted “go: could not create module cache: mkdir /usr/local/go/gopath/pkg/mod: permission denied”
terms of settlement :
First execute the following command to create mod, Re execute the module installation command
sudo mkdir /usr/local/go/gopath/pkg/mod
go Dependency package management
【 Update third-party dependencies 】
go get -u github.com/xuri/excelize/v2
【 Use go modules】
sudo mkdir /usr/local/go/gopath/pkg/mod
go mod It is the official package management tool , Before, there were unofficial package management tools , for example :go vendor Tools such as
development history
stay go1.11 After the version ,go mod It is designated as the official package management tool , It provides more flexible management , The package can be versioned , And your project doesn't have to be GOPATH I'm off .
stay Go 1.14 in , Module support is considered ready for production , And encourage all users to migrate from other dependency management systems to modules .
It is recommended to use Go 1.15 And later versions
Using Go Modules - The Go Programming Language
Preparations before use
set GO111MODULE=on
Environment variables can be used GO111MODULE Turn module support on or off , It has three optional values :off、on、auto, The default value is auto.
GO111MODULE=off No module support ,go From GOPATH and vendor Folder search package .
GO111MODULE=on Module support ,go Will ignore GOPATH and vendor Folder , Based on go.mod Download dependency .
GO111MODULE=auto stay $GOPATH/src Outside and the root directory has go.mod When you file , Enable module support .
When using modules ,GOPATH It's meaningless , But it still stores the download dependency in the GOPATH/pkg/mod in , Will also put goinstall The results of GOPATH/bin in
set GOPRIVATE=XXX.XXX.com
This command is when using proxy , Filter GOPRIVATE Download the package under the set domain name , Usually private library
The command is Go 1.13 New features in version
set GOPROXY=https://goproxy.cn
This command sets the proxy , To prevent from being qiang, Set on demand
There are other agents such as ,https://goproxy.io;http://mirrors.aliyun.com/goproxy/
Go Mod command
download download modules to local cache ( Download dependent module To local cache))
edit edit go.mod from tools or scripts ( edit go.mod file )
graph print module requirement graph ( Print module dependency graph ))
init initialize new module in current directory ( Initialize a new one under the current folder module, establish go.mod file ))
tidy add missing and remove unused modules ( Add lost module, Remove unused module)
vendor make vendored copy of dependencies ( Copy dependency to vendor Next )
verify verify dependencies have expected content ( Verification dependency )
why explain why packages or modules are needed ( Explain why you need to rely )
Practice
1. perform go mod init
go mod init demo
After two sentences of command , You'll see , There are many projects go.mod and go.sum file .
go.mod: It can be understood as package management file
go.sum: It can be understood as the version control file of the package
To be more precise ,go.sum Is a build status trace file
Be careful :
2. go mod tidy
go mod tidy
Use go mod after , After the package is downloaded, it is put in $GOPATH/pkg/mod Next
Reference documents :
https://blog.csdn.net/benben_2015/article/details/82227338
https://blog.csdn.net/wangyufeng43400141/article/details/107170481/
边栏推荐
- What is inner connection and outer connection? What are the uses and benefits
- Leetcode topic [array] - 121 - the best time to buy and sell stocks
- awk从入门到入土(14)awk输出重定向
- go-zero微服务实战系列(九、极致优化秒杀性能)
- DM8 tablespace backup and recovery
- Awk from entry to earth (15) awk executes external commands
- ctfshow web255 web 256 web257
- awk从入门到入土(11)awk getline函数详解
- 地平线 旭日X3 PI (一)首次开机细节
- Leetcode topic [array] -136- numbers that appear only once
猜你喜欢
Leetcode topic [array] -136- numbers that appear only once
FOC控制
Codeforces Round #750 (Div. 2)(A,B,C,D,F1)
微服务入门:Gateway网关
Newh3c - network address translation (NAT)
Live in a dream, only do things you don't say
Question 49: how to quickly determine the impact of IO latency on MySQL performance
How to re enable local connection when the network of laptop is disabled
C語言-入門-基礎-語法-[運算符,類型轉換](六)
Call Baidu map to display the current position
随机推荐
Live in a dream, only do things you don't say
C语言-入门-基础-语法-数据类型(四)
C language - Introduction - Foundation - syntax - [main function, header file] (II)
Target detection -- intensive reading of yolov3 paper
根据数字显示中文汉字
C # implements a queue in which everything can be sorted
C language - Introduction - Foundation - syntax - [identifier, keyword, semicolon, space, comment, input and output] (III)
What if I forget the router password
【无标题】转发最小二乘法
Fault analysis | MySQL: unique key constraint failure
Report on research and investment prospect prediction of China's electronic grade sulfuric acid industry (2022 Edition)
manjaro安装微信
Xcode 6 swift code completion does not work properly - Xcode 6 swift code completion not working
Codeforces Global Round 21(A-E)
C语言-入门-基础-语法-[变量,常亮,作用域](五)
Awk from getting started to digging in (11) detailed explanation of awk getline function
Solve the problem of "Chinese garbled MySQL fields"
Display Chinese characters according to numbers
地平线 旭日X3 PI (一)首次开机细节
【LeetCode 42】501. Mode in binary search tree