Is it possible to build (install, go get, etc) an executable with the name foobar
if my Golang package name is one of the following:
github.com/username/go-foobar
github.com/username/foobar-tools
and has main.go
in the package root?
Go The Go Command Go BuildPrintln("Hello, World!") } build creates an executable program, in this case: main or main.exe . You can then run this file to see the output Hello, World! . You can also copy it to a similar system that doesn't have Go installed, make it executable, and run it there.
go install builds the command in a temporary directory then moves it to $GOPATH/bin .
The Go binaries are installed per default under /usr/local/go (Mac). You can verify the installation via the execution of the command go version in a fresh terminal. If go isn't already being found by the CLI you have to manually add /usr/local/go/bin to the PATH variable of your system.
go build -o <your desired name>
You can specify the executable name using the -o switch with go build
. For your example it would look something like: cd $GOPATH/github.com/username/go-foobar && go build -o foobar
. However, you're just left with the executable in the package's folder -- you still need to install it somehow.
However, I don't know of any way to specify that for someone using go get github.com/username/go-foobar
to install your tool. For instance, see this answer: https://stackoverflow.com/a/33243591/2415176
If you're not worried about people installing your tool with go get
, this is the kind of thing you can wrap in a Makefile.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With