Golang packaging: Difference between revisions

From wikinotes
No edit summary
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Module Requirements =
How to install executables,<br>
manage project requirements,<br>
and publish your project to the go index (or create a private module).
 
= Locations =
<blockquote>
<blockquote>
See [[go.mod file]] .
{| class="wikitable"
</blockquote><!-- Module Requirements -->
|-
| <code>~/go/bin</code> || default <code>$GOBIN</code> path, where go executables are installed
|-
|}
</blockquote><!-- Locations -->
 
 
= OS Package Management =
<blockquote>
Installing Packages
<syntaxhighlight lang="bash">
# golang < 1.18
go get -u example.com/x/foo
 
# golang >= 1.18
go install example.com/x/foo@latest
</syntaxhighlight>
 
Uninstalling Packages
<syntaxhighlight lang="bash">
# there doesn't seem to be a managed way of doing this
rm ${GOBIN:=~/go/bin}/tool-to-delete
</syntaxhighlight>
</blockquote><!-- OS Package Management -->
 
= Creating/Hosting Packages =
<blockquote>
In order to hosting packages for OS-install, you simply need to expose the src using the module path.<br>
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
</blockquote><!-- Project Requirements -->

Latest revision as of 03:52, 20 June 2022

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

Locations

~/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