猿问

安装 Go 二进制文件,保留依赖项/包

当我构建一个 Go 二进制文件时,我通常会做这样的事情:

go build -ldflags "-X main.basedir somevar" -o mybuilddir/bin/myfile mypackage/main"

这将构建二进制文件并将其放置在自定义目录中。但这不会将“中间”包文件保留在 之下pkg/,这将加快下一次编译运行的速度。

解决方案是go install,但我无法指定输出目录。似乎可以用 设置二进制目录GOBIN,但我无法指定可执行文件的名称(总是main)。

这个问题的可能解决方案是什么?

  • 自定义目标目录

  • 自定义名称(不是main

  • 保留中间生成的包文件 ( .a)


这是src目录GOPATH

GOPATH/src$ tree 

.

└── mypackage

    ├── packagea

    │   └── packagea.go

    ├── packageb

    │   └── packageb.go

    └── main

        └── mypackage.go

使用go install,包文件 ( .a) 是在 中创建的$GOPATH/pkg,使用go build,我在.a任何地方都找不到这些文件。


茅侃侃
浏览 255回答 0
0回答
随时随地看视频慕课网APP

相关分类

Go
我要回答