搭建微服务的一些注意事项

加了gomod本地包爆红的解决办法

比如你的文件结构是这样的

1
2
3
4
5
6
7
aaa
├─go.mod
├─bbb
│ ├─ccc.go
│ ├─ddd
│ └─eee.go
└─main.go

ccc.go→package bbb,eee.go→package ddd
本来在main里应该是这样引用的:

1
2
3
4
5
import (
"aaa/bbb"
"aaa/bbb/ddd"
)

然后 go mod tidy之后以上刷刷爆红,在线包不受影响。
解决方法:

  1. 删了go.mod
  2. 1
    2
    go mod init aaa/v2
    //v几都行,根据自己情况,不支持v1
  3. 路径改为
    1
    2
    3
    4
    import (
    "aaa/v2/bbb"
    "aaa/v2/bbb/ddd"
    )
    需要注意的是,在微服务中往往每个服务不在一个根文件夹,这时路径的“aaa”处填具体服务的go.mod所在地的根目录,而不是总根目录(服务根目录/v2/接下来的目录)

Powered by Hexo and Hexo-theme-hiker

Copyright © 2022 - 2024 熄火の站 All Rights Reserved.

UV : | PV :