Golang packaging

From wikinotes

How to install executables,
manage project requirements,
and publish your project to the go index (or create a private module).


~/go/bin default $GOBIN path, where go executables are installed

OS Package Management

Installing Packages

# golang < 1.18
go get -u example.com/x/foo

# golang >= 1.18
go install example.com/x/foo@latest

Uninstalling Packages

# there doesn't seem to be a managed way of doing this
rm ${GOBIN:=~/go/bin}/tool-to-delete

Creating/Hosting Packages

In order to hosting packages for OS-install, you simply need to expose the src using the module path.
It will be compiled for the platform automatically.

  • See golang modules for creating modules, managing their requirements, and publishing to the public package index
  • See golang module path for instructions on private package hosting