如果我理解正确,go install将二进制文件放在$GOBIN目录中。
我倾向于忘记哪些包提供了哪些二进制文件$GOBIN以及我编辑了哪些包go install。
有没有办法列出当前go install-ed 的包?
显然,我可以这样做ls $GOBIN,这会给我二进制文件的名称。但是,我正在寻找一种方法来获取带有长名称的包列表,例如github.com/operator-framework/operator-sdk.
更新:( 此处go list ...建议)似乎不适用于我的情况,因为此命令希望我位于包含文件的目录中。我知道这是指定用于列出项目的包。就我而言,我需要找出安装到我的系统/user 中的所有软件包。go.modgo list$GOBIN
对于 中的每个二进制文件$GOBIN,您可以使用go version -m显示有关 Go 版本和用于构建该二进制文件的模块版本的信息。例如,这是go version -m ~/go/bin/goimports给我的。
$ go version -m ~/go/bin/goimports
/Users/jayconrod/go/bin/goimports: go1.15.2
path golang.org/x/tools/cmd/goimports
mod golang.org/x/tools v0.0.0-20200910165216-53e29e9d1252 h1:qn28WK3EvdJOSlyZFNeWnaEX8X5GiQv+8mrw9mYrXko=
dep golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
dep golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
Run Code Online (Sandbox Code Playgroud)
该path行显示main已安装的包的名称。看起来我需要更新它。
$ go install golang.org/x/tools/cmd/goimports@latest
$ go version -m ~/go/bin/goimports
/Users/jayconrod/go/bin/goimports: go1.17rc1
path golang.org/x/tools/cmd/goimports
mod golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA=
dep golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo=
dep golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=
dep golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
Run Code Online (Sandbox Code Playgroud)