Get the App
SLTechnology News&Howtos  ›  Development  › 

How go module uses local packages

Shulou Source: shulou.com Published: 2022-06-02 10:02:00 09月16日 Update

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!

Tags: Articles content directories happy lucky not so much warehouses commands most files solutions time more frameworks knowledge caching industry information information channels paths Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno MySQL vpn Redmi MariaDB NVidia