gpt4 book ai didi

go - 什么规则决定了 Go 包的安装位置?

转载 作者:IT王子 更新时间:2023-10-29 01:05:14 26 4
gpt4 key购买 nike

当我运行 go install我自己的一些包裹位于 %GOPATH%\src , 它将被安装到 %GOPATH%\pkg .

我读到 %GOROOT%%GOPATH%文件夹具有类似的组织。所以我尝试了 go install cmd\cgo%GOROOT%\src\cmd\cgo包,它是 golang 安装的一部分。但是最后的cgo.exe安装到 %GOROOT%\pkg\tool\ .

我检查了所有 *.go cmd\cgo 中的文件文件夹。他们都有一个package main声明。所以我期待最后的 cgo.exe将安装到 %GOROOT%\bin .

我的问题是:

  • 为什么 cgo.exe安装到 pkg而不是 bin
  • tool 在哪里?参与 pkg\tool来自?我可以为自己的包裹做类似的事情吗?

最佳答案

go build命令依赖于 go 工具目录,其中安装了构建工具(compile.exelink.exe、...)。

ToolDir定义为:

var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)

所以任何构建工具都在 %GOROOT%\pkg\tool\

关于go - 什么规则决定了 Go 包的安装位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40879451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com