首页 >后端开发 >Golang >Go 中的'go build”和'go install”有什么区别?

Go 中的'go build”和'go install”有什么区别?

DDD
DDD原创
2024-12-02 18:01:15340浏览

What's the Difference Between `go build` and `go install` in Go?

Go Install 实际上做了什么?

Go 文档没有解释 go build 和 go install 之间的区别细节。人们可能期望安装遵循 make install 模式——它获取已编译的工件并将它们放置在最终指定的位置。然而,在 go install 的情况下,它会将它们放在 GOROOT/bin 中。

Go Build 与 Go Install

go build 仅编译可执行文件并将其移动到指定的目的地。另一方面,go install 执行额外的任务:

  • 将可执行文件移动到 $GOPATH/bin
  • 缓存导入到 $GOPATH/pkg 的所有非主包

如果保留源代码,则在后续编译中使用缓存的依赖项

包树的可视化

说明使用 go build 和 go install 的结果:

├── bin
│   └── hello  # by go install
└── src 
    └── hello
        ├── hello  # by go build
        └── hello.go

注意: go build 在当前目录中生成可执行文件,而 go install 将其放置在$GOPATH/bin.

更详细的信息和高级功能,请参考 Go 官方文档:[https://go.dev/doc/install/troubleshooting#how-go-install-works]( https://go.dev/doc/install/troubleshooting#how-go-install-works)

以上是Go 中的'go build”和'go install”有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn