go mod包管理器踩坑

go mod包管理器踩坑-不定期更新

go mod导入本地第三方包

在go v1.11版本之后go终于引入了module包管理器,今天在搞go-zero的时候,发现需要导入本地的包。服务是一个api网关,两个rpc服务网,三个服务是平级关系,无法通过require导入。必应一下发现需要在mod文件中使用replace命令。于是乎我导入了这两行。

1
2
3
4
5
6
7
8
9
10
11
12
13
module api

go 1.15

require (
github.com/tal-tech/go-zero v1.1.1
google.golang.org/grpc/examples v0.0.0-20201218190559-666aea1fb34c // indirect
)

replace (
add => ../rpc/add // 本地的rpc服务
check => ../rpc/check // 本地的rpc服务
)

然后发现不管用,无奈之下,使用goland去自动补齐依赖。神奇的goland,在sync之后,在require中新增了两行。

1
2
3
4
5
6
require (
add v0.0.0 // 新增的
check v0.0.0 // 新增的
github.com/tal-tech/go-zero v1.1.1
google.golang.org/grpc/examples v0.0.0-20201218190559-666aea1fb34c // indirect
)

然后恍然大明白,原来需要先声明包,然后在用replace替换地址。
date: 2020-12-21 14:14:00
放个壁纸开心下