82 lines
2.1 KiB
Markdown
82 lines
2.1 KiB
Markdown
# golang-tools-install-script
|
|
|
|
Bash script to automate installation and removal of single-user Go language tools.
|
|
|
|
Feel free to change the variables on the beginning to match whatever version of Go you need.
|
|
|
|
Tested working on:
|
|
|
|
* :white_check_mark: Ubuntu
|
|
* ⚠️ macOS, generally [^1]
|
|
* :white_check_mark: Fedora (Workstation)
|
|
|
|
[^1]: I no longer have the ability to perform automated testing for free. Testers are welcome!
|
|
|
|
Supported shells:
|
|
* Bash, fish, Zsh
|
|
|
|
## :hammer: Requirements
|
|
* `wget` or `curl`
|
|
* Bash shell
|
|
|
|
## :fast_forward: Install
|
|
|
|
Download and run with `wget` or `curl`. Here's the short version using the official git.io shortening:
|
|
|
|
```shell
|
|
# Linux typically has wget installed
|
|
wget -q -O - https://git.io/vQhTU | bash
|
|
|
|
# macOS typically has curl installed
|
|
curl -L https://git.io/vQhTU | bash
|
|
```
|
|
|
|
Or, if you are more comfortable with the raw URL:
|
|
```shell
|
|
wget -q -O - https://raw.githubusercontent.com/canha/golang-tools-install-script/master/goinstall.sh | bash
|
|
|
|
# or...
|
|
curl https://raw.githubusercontent.com/canha/golang-tools-install-script/master/goinstall.sh | bash
|
|
```
|
|
|
|
## :package: Install a custom Go version
|
|
|
|
Pass the `--version` option into the script including the version that you wish to install.
|
|
|
|
##### Example:
|
|
|
|
```shell
|
|
wget -q -O - https://git.io/vQhTU | bash -s -- --version 1.18
|
|
|
|
# or...
|
|
curl -L https://git.io/vQhTU | bash -s -- --version 1.18
|
|
```
|
|
|
|
## :no_entry_sign: Uninstall
|
|
|
|
Pass the `--remove` option into the script:
|
|
|
|
```shell
|
|
wget -q -O - https://git.io/vQhTU | bash -s -- --remove
|
|
|
|
# or...
|
|
curl -L https://git.io/vQhTU | bash -s -- --remove
|
|
```
|
|
|
|
## :pencil: Notes
|
|
|
|
By default, the script will create `.go` and `go` folders on your home directory and add the needed variables and `PATH` expansion.
|
|
|
|
`$HOME/.go is the directory where Go will be installed to.`
|
|
|
|
`$HOME/go is the default workspace directory.`
|
|
|
|
Read more about the [workspace](http://golang.org/doc/code.html).
|
|
|
|
In order to install Go into another location, set the environment variables `$GOROOT` and `$GOPATH` before (un)installing:
|
|
|
|
```shell
|
|
export GOROOT=/opt/go
|
|
export GOPATH=$HOME/projects/go
|
|
```
|