关于 Go 的 Module 包管理
資深大佬 : iFurySt 5
. ├── conf │ ├── dev.ini │ └── prod.ini ├── controller │ ├── dir.go │ ├── go.mod │ └── go.sum ├── docs ├── go.mod ├── go.sum ├── main.go ├── pkg │ ├── config │ │ ├── config.go │ │ ├── go.mod │ │ └── go.sum │ ├── ecode │ │ ├── code.go │ │ ├── ecode.go │ │ ├── go.mod │ │ └── msg.go │ ├── os │ │ ├── go.mod │ │ └── path.go │ └── response │ ├── go.mod │ ├── go.sum │ └── response.go ├── routers │ ├── go.mod │ ├── go.sum │ └── routers.go
一个测试项目的目录,有一些问题想要请教一下:
- 比如我在
controller/dir.go中引入example.com/os,那么在controller/go.mod中需要指明replace example.com/os => ../pkg/os,相应的如果该项目的很多包就需要 replace 多次。 - 基于
1,现在在main.go中引入example.com/controller包,则在go.mod不仅仅需要replace example.com/controller => ./controller,还需要replace example.com/os => ./pkg/os,一旦controller引入了多个,在此也需要引入多个包,感觉很麻烦,总感觉自己的姿势不对,但是查阅了资料除了将项目移到$GOPATH/src/或者使用$GOPATH以外,只能将代码上传到类似github.com的仓库上然后直接go get?
刚接触 Go,包管理问题确实有被困扰到,想要探究一下究竟是怎么回事 🙂
大佬有話說 (6)