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.