Difference between revisions of "Golang/Install"

From Ever changing code
Jump to navigation Jump to search
Line 1: Line 1:
= Ubuntu Install =
= Ubuntu Install =
Tested: Ubuntu LTS 16.04  
;Ubuntu 18.04 inc. WSL
<source lang="bash">
sudo apt install golang-go
</source>


;Ubuntu LTS 16.04


These steps allow to install more modern version of Golang than comes from official Ubuntu repositories. There was major changes between in 1.7 but default version seems to be 1.6.2. At the time of writing this I installed version go1.10.2.
These steps allow to install more modern version of Golang than comes from official Ubuntu repositories. There was major changes between in 1.7 but default version seems to be 1.6.2. At the time of writing this I installed version go1.10.2.


Download from https://golang.org/dl/ and extract it into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>
Download from https://golang.org/dl/ and extract it into <code>/usr/local</code>, creating a Go tree in <code>/usr/local/go</code>
<source>
<source lang="bash">
sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz
sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz
</source>
</source>
Add /usr/local/go/bin to the PATH environment variable. You can do this by adding this line to your <tt>/etc/profile</tt> (for a system-wide installation) or <tt>$HOME/.profile</tt>:  
Add /usr/local/go/bin to the PATH environment variable. You can do this by adding this line to your <tt>/etc/profile</tt> (for a system-wide installation) or <tt>$HOME/.profile</tt>:  
<source>
<source lang="bash">
sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 2 #adds to the $PATH
sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 2 #adds to the $PATH
export PATH=$PATH:/usr/local/go/bin #optional
export PATH=$PATH:/usr/local/go/bin #optional

Revision as of 13:19, 9 November 2018

Ubuntu Install

Ubuntu 18.04 inc. WSL
sudo apt install golang-go
Ubuntu LTS 16.04

These steps allow to install more modern version of Golang than comes from official Ubuntu repositories. There was major changes between in 1.7 but default version seems to be 1.6.2. At the time of writing this I installed version go1.10.2.

Download from https://golang.org/dl/ and extract it into /usr/local, creating a Go tree in /usr/local/go

sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz

Add /usr/local/go/bin to the PATH environment variable. You can do this by adding this line to your /etc/profile (for a system-wide installation) or $HOME/.profile:

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 2 #adds to the $PATH
export PATH=$PATH:/usr/local/go/bin #optional

Multiple versions

You can have multiple versions fo Golang installed in your system. The way to manage the current version in use is to use update-alternatives

Display best options

sudo update-alternatives --display go
go - auto mode
  link best version is /usr/local/go/bin/go
  link currently points to /usr/local/go/bin/go
  link go is /usr/bin/go
/usr/local/go/bin/go - priority 2

Before

Selection    Path                  Priority   Status
 ------------------------------------------------------------
   0            /usr/bin/golang-go     10        auto mode
   1            /usr/bin/gccgo-go      5         manual mode
   2            /usr/bin/golang-go     10        manual mode

Action: Installed manually unzipped GoLang into /usr/local/go but was not added to alternatives. Use command below to add it on:

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 2

After

Selection    Path                  Priority   Status
 ------------------------------------------------------------
 * 0            /usr/bin/golang-go     10        auto mode
   1            /usr/bin/gccgo-go      5         manual mode
   2            /usr/bin/golang-go     10        manual mode
   3            /usr/local/go/bin/go   2         manual mode

Then run command to change go binary available in your shell

sudo update-alternatives --config go  #then select ''3''

When you run

$ go version #the version of ''go'' will be the one from <tt>/usr/local/go</tt> location.