我正在尝试go install
并使用-o
标志重命名输出。
go install -o bar.exe src/foo.go
但这失败了,错误:
flag provided but not defined: -o
usage: install [build flags] [packages]
go help build
显示-o
作为重命名输出二进制文件的正确构建标志。没有提及没有为go install
定义此标志。
go run -o bar.exe src/foo.go
失败并出现同样的错误。
go build -o bar.exe src/foo.go
有效。我得到了bar.exe。
这只是文档错误,还是我错过了什么?
我的版本:go1.5 windows/386
。
感谢。
答案 0 :(得分:27)
go build
接受-o
标记但go install
不接受。
go install
将始终输出到$GOPATH/bin
如果您想为自己的gopath安装自定义二进制名称,可以执行go build -o $GOPATH/bin/whatever
,这大致相当于go install
答案 1 :(得分:0)
如果只关心位置而不是二进制文件的名称,则可以伪造-o标志。为安装命令定义GOBIN
:
GOBIN=`readlink -f my/location` go install some/persons/go-package
注意事项:这不适用于交叉编译的二进制文件。