本文由go語言教程欄目給大家介紹go module如何使用本地包 ,希望對需要的朋友有所幫助!
go module的使用非常簡單
-
初始化go.mod
go mod init
-
整理依賴包
go mod tidy
-
如果想緩存到vendor目錄
go mod vendor
執(zhí)行命令之后都會自動把依賴搞定.
但是, 如果我們是本地開發(fā)的包, 還沒有遠程倉庫的時候, 要怎么解決本地包依賴問題呢?
使用replace將遠程包替換為本地包服務
幸運的是, go module 提供了另外一個方案, replace, 這個replace怎么使用的呢?
我們先看一下一個最基本的mod文件
module GoRoomDemo go 1.12 require ( 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 )
這是一個簡單的GoRoom
框架的依賴關系包, 如果我想使用本地的goroom
, 只需要使用replace即可
module GoRoomDemo go 1.12 require ( 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
這里的
path/to/go/src/github.com/gohouse/goroom
是本地的包路徑
這樣, 我們就可以愉快的使用本地目錄了。