https://github.com/samuelkarp/gov
Simple Go version manager
https://github.com/samuelkarp/gov
golang
Last synced: 2 months ago
JSON representation
Simple Go version manager
- Host: GitHub
- URL: https://github.com/samuelkarp/gov
- Owner: samuelkarp
- License: bsd-3-clause
- Created: 2018-11-22T05:41:17.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2020-06-13T19:23:13.000Z (almost 5 years ago)
- Last Synced: 2025-01-25T13:41:22.692Z (4 months ago)
- Topics: golang
- Language: Shell
- Size: 2.93 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gov
`gov` is a super simple version manager for the Go toolchain. `gov` downloads,
unpacks, and makes available versions of Go from golang.org.## Installation
* Place `gov` on your `$PATH`
* Add `$HOME/.go/active/bin` to your `$PATH`
* Run `gov download 1.11.1` (for Go 1.11.1)`gov` stores versions of Go in `$HOME/.go` in folders named after the specifc
version of Go and manages a symlink called `active` that points to the specific
version of Go in use.## Usage
Download and install versions of Go with `gov download`. Activate installed
versions of Go with `gov use`.## Why another version manager?
I wrote `gov` to scratch a personal itch of mine and fit into my personal
preferences. `gov` installs go versions in a separate managed directory inside
my home directory, without messing with the rest of the system. `gov` expects
you to have a single `GOPATH`, shared among all versions of Go and a single
active version of Go at a time. `gov` avoids recompiling Go itself and just
uses the precompiled distribution from golang.org. `gov` is written as a
simple shell script, so you don't need to download a random binary from the
Internet or have a pre-existing Go toolchain to compile it.Feel free to use `gov`, or to ignore it.