Golang Go语言中采用gomod方式后gopath下的bin如何处理?
Golang Go语言中采用gomod方式后gopath下的bin如何处理?
go 新手沙雕问题。
既然要贯彻 gomod,那 gopath 也要废除掉吗?
如果废除掉,本来有些命令是 go get && go install 放到 bin 目录下,然后在构建过程中引用这些 /bin 目录。现在采用 gomod 怎么处理呢?
换言之,原来 gopath 时有些构建时依赖是放在 bin 目录下管理的,现在 go mod 怎么处理?我看 github 有个可能相关的 issue https://github.com/golang/go/issues/27653
更多关于Golang Go语言中采用gomod方式后gopath下的bin如何处理?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
设 GOBIN 环境变量
更多关于Golang Go语言中采用gomod方式后gopath下的bin如何处理?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
现阶段 GOPATH 还是存在的,还是放在$GOPATH/bin 下。使用 go mod 安装的应用的可执行文件也是放在这个目录下。
你也可以通过 GOBIN 定义具体的位置
现在是放在 GOPATH 下的 pkg/mod 目录下。你配置一下 GOBIN 就行了。
go mod init 后,在你引用新的依赖库时,可以直接 go mod tidy 命令自动下载会添加依赖到 go mod.
在Golang中,自从Go 1.11版本引入Go Modules(即go mod
)后,项目的依赖管理和构建方式发生了显著变化。采用go mod
方式管理项目时,虽然GOPATH
仍然有效并用于存放一些全局工具和缓存,但项目的源代码和依赖通常会被放置在项目自身的模块路径下(由GOMOD
文件指定)。
关于GOPATH/bin
目录,这里主要存放通过go install
命令全局安装的可执行文件。在使用go mod
的项目中,你通常会直接在项目内运行或构建二进制文件,而不需要频繁地将它们安装到GOPATH/bin
。例如,你可以在项目根目录下使用go run .
来运行程序,或者使用go build -o ./output/mybinary
来构建二进制文件到指定目录。
如果你确实需要将某个工具或应用全局安装到GOPATH/bin
,可以通过在项目外运行go install
命令指定包路径来完成。但请注意,这种做法在模块化项目中并不常见,因为它可能引入版本冲突或依赖管理上的混乱。
总的来说,go mod
方式鼓励在项目内部进行构建和运行,减少对全局GOPATH/bin
的依赖,从而增强项目的可移植性和版本控制的准确性。