去安装无法识别“ -o”标志

I'm trying to do a go install and rename the output with the -o flag.

go install -o bar.exe src/foo.go

But this fails with the error:

flag provided but not defined: -o
usage: install [build flags] [packages]

go help build shows -o as the correct build flag to rename the output binary. There is no mention that this flag is not defined for go install.

go run -o bar.exe src/foo.go fails with the same error.

go build -o bar.exe src/foo.go works. I get bar.exe.

So is this just an error of documentation, or have I missed something?

My version: go1.5 windows/386.

Thanks.

go build accepts the -o flag but go install does not.

go install will always output to $GOPATH/bin

If you want to install a custom binary name to your gopath you can do go build -o $GOPATH/bin/whatever and that will be roughly equivalent to go install

You can fake the -o flag, if all you care about is the location, and not the name of the binary. Define GOBIN for the install command:

GOBIN=`readlink -f my/location` go install some/persons/go-package

Caveat: This doesn't work for cross-compiled binaries.