How go module uses local packages
Editor to share with you how go module uses the local package, I believe most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
The use of go module is very simple
Initialize go.mod
Go mod init
Organize dependency packages
Go mod tidy
If you want to cache to the vendor directory
Go mod vendor
The dependency is automatically taken care of after the execution of the command.
However, if we are locally developed packages and do not have a remote repository, how can we solve the problem of local package dependency?
Use replace to replace remote packages with local package services
Fortunately, go module offers another solution, replace. How does this replace work?
Let's take a look at the most basic mod file.
Module GoRoomDemogo 1.12require (github.com/gin-gonic/gin v1.3.0 github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github.com/golang/protobuf v1.3.1 / / indirect github.com/gomodule/redigo v2.0.0+incompatible github.com/mattn/go-sqlite3 v1.10.0 github.com/stretchr/testify v1.3.0 / / indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 / / indirect)
This is a simple dependency package for the GoRoom framework. If I want to use the native goroom, I just need to use replace
Module GoRoomDemogo 1.12require (github.com/gin-gonic/gin v1.3.0 github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336 github.com/golang/protobuf v1.3.1 / / indirect github.com/gomodule/redigo v2.0.0+incompatible github.com/mattn/go-sqlite3 v1.10.0 github.com/stretchr/testify v1.3.0 / / indirect golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 / / indirect) Replace github.com/gohouse/goroom = > / path/to/go/src/github.com/gohouse/goroom where path/to/go/src/github.com/gohouse/goroom is the local package path
In this way, we can happily use the local directory.
The above is all the content of the article "how go module uses local packages". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!