Use dep to configure the operation of the golang development environment

  • 2020-06-07 04:39:48
  • OfStack

The profile

golang's package management 1 has no official package management solution, resulting in a number of unofficial package management tools. The previous gb (https:// getgb.io /) I used was a good way to separate the various golang projects, as the ones created by gb did not fit into the existing GOPATH. gb refers to the project directory as GOPATH, and its vendor directory is not exactly the same as golang's own vendor.

dep's Roadmap has plans to become the official golang package management tool, so using dep to organize your own golang project will be more integrated with other golang projects.

configuration

golang configuration

My golang configuration is mainly divided into three parts:

The & # 8226; GOROOT: For golang itself, when updating the golang version, just update this
The & # 8226; GOPATH: Tools for storing golang (gofmt, gocode, etc.)
The & # 8226; GOPROJECTS: For various golang projects

export GOROOT=/usr/local/go
export GOPROJECTS=/path/to/goprojects
export GOPATH=/path/to/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:$GOPROJECTS/bin

export GOPATH=$GOPATH:$GOPROJECTS

Configuration of go project

Create your own golang project under $GOPROJECTS/src


cd $GOPROJECTS/src
mkdir myGolangProject
cd myGolangProject

touch main.go
# write some golang code in main.go

dep init
dep ensure # add dependencies for main.go

go install # compile myGolangProject

myGolangProject can be submitted to a remote git repository as an git repository for easy sharing with others

conclusion

In fact, many golang package management tools are good, even without package management tools, GOPATH can achieve the purpose of golang project management by rational division. One reason for using dep is that it is likely to become the official package management tool for golang in the future, and the other is to better share the golang code. After all, through dep, others can install all dependencies with one key, avoiding many installation instructions.


Related articles: