Go 语言的 Modules 系统介绍

Alex-liutao ·
使用了你介绍的方法,解决了我的问题。 但在使用上有点小问题, 本地的代码包在 go build/go run 命令之后, 在go.mod文件不会出现 goodbye 的依赖项, 需要人肉先填写, 才行 ``` me@me-TM1701:~/go11/example.com/me/hello$ go mod init example.com/me/hello go: creating new go.mod: module example.com/me/hello me@me-TM1701:~/go11/example.com/me/hello$ cat go.mod module example.com/me/hello me@me-TM1701:~/go11/example.com/me/hello$ go build . build example.com/me/hello: cannot find module for path example.com/me/goodbye me@me-TM1701:~/go11/example.com/me/hello$ echo "require example.com/me/goodbye v1" >> go.mod me@me-TM1701:~/go11/example.com/me/hello$ go mod edit -replace example.com/me/goodbye=../goodbye me@me-TM1701:~/go11/example.com/me/hello$ go build . me@me-TM1701:~/go11/example.com/me/hello$ go run . 你好,世界。 Goodbye ```
#5
更多评论
windy_
君子知命不惧,日日自省
那可以在非gopath下创建项目运行吗
#1
启用了 module 机制的包(库)或者可执行文件,它们的代码都**必需**放在 **非GOPATH** 的目录里面,这是必需条件,不是可选的条件。 如果对 GOPATH 目录里面的项目 执行 `go mod init mod` 那么将会报错: `go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'`
#2