如何安裝GVM來管理Go版本

前言

Go是一個新興的程式語言,那它也有管理版本的工具,那本文章,就是要來講解,如何做Go版本的管理。

前置環境

要安裝與使用gvm之前,需要有下面的環境才開始往後的教學。

  1. Ubuntu 16.04
  2. 系統預設要有一個go-lang環境
  3. 一個執行shell環境,bash或是fish皆可

安裝gvm

在安裝gvm之前,先執行下面的指令,確定Ubuntu系統上是不是已經有一個Go的版本了


sudo apt-get update

sudo apt-get install golang-go

接下來,則是安裝gvm,若是使用fish shell,則可以參考此篇文章安裝方式。

設定GOROOT_BOOTSTRAP環境變數

因為在編譯Go版本的時候,需要用到Go裡面的相關路徑,因此需要先設定好變數

可以打開家目錄底下的.bashrc檔案並加入下面的資訊。

fish 則是在家目錄底下的.config/fish/config.fish


export GOROOT_BOOTSTRAP=/usr/lib/go-1.6

加入完成之後,若不想要重新開啟terminal,則需要使用下面的source指令重新載入相關的設定。


# bash shell

source ~/.bashrc

# fish shell

source ~/.config/fish/config.fish

這樣就可以完成編譯Go的版本了。

使用gvm安裝和使用Go版本

下面可以安裝指定的Go版本


gvm use go1.9

這時候需要等候,因為會下載與編譯,需要一段時間做這件事情。

使用Go的版本


gvm use 1.9

列出所有已經有安裝過的Go版本


gvm list

參考資料

如何在Ubuntu 16.04使用Fish shell

前言

我們在Ubuntu 16.04中,或是大家最常在Linux上用的shell命令就是bash了。可是在一般我們使用的情形之下,bash實在是會沒辦法達到我們的需求,這時候,就需要考慮其他的shell來使用了。那普遍最多人使用的是:zsh與fish shell是兩大宗。

本文章中,會教如何在Ubuntu 16.04下,安裝與一般使用fish shell的教學。

前置環境

  1. Ubuntu 16.04

安裝步驟

首先,先載入外部的,fish shell的儲存庫,因為Ubuntu 16.04內建的fish套件所收錄的版本較舊,我們要用較新的版本,因此我們需要先加入外部的fish shell儲存庫。接著更新好鏡像來源之後,就可以安裝新版的fish套件了。其依序的輸入命令如下:


sudo add-apt-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish

fish shell的一般設定

一般安裝好fish之後,我們為了要有更好的fish shell體驗,我們會先使用oh-my-fish來幫助我們設定與增強fish的使用。前提是我們先需要在Ubuntu 16.04上安裝好curl套件,接著按照下面的指令將oh-my-fish下載下來並執行。


curl -L https://get.oh-my.fish | fish

在官網下面有一些實用的指令,像是update, install, theme, list以及remove等,都可以參照oh-my-fish官網的README,在此就不再做相關的贅述。不過下面會介紹與推薦一些fish shell的樣式與實用的工具。

Fish Shell 推薦樣式

下面是fish shell所推薦的樣式(theme):

  • cyan
  • ocean
  • bobthefish

更多的樣式介紹與使用方式在此連結

Fish Shell實用的工具推薦

接下來會是推薦實用的工具

  • nvm
  • phpbrew
  • gvm

NVM安裝

在fish shell底下安裝nvm(Node version manager)是一件容易的事情,只要輸入下面的指令就可以完成安裝。


omf install nvm

phpbrew安裝

同樣的,我們只需要書下面的指令,即可完成phpbrew的安裝。


omf install phpbrew

GVM安裝

因為gvm(Go version manager)並不在我們使用的omf安裝清單中,因此我們需要透過其他安裝外掛的工具,如fisherman來幫助我們完成其安裝。

安裝fisherman

首先先下載fisherman與安裝


curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher

上面指令安裝完成之後,就會有fisher這個指令可以使用了。

接著再使用fisher指令來安裝gvm


fisher gvm

安裝好之後,就會有gvm的指令可以使用與管理Go版本了。

後記

最近在Ubuntu 16.04使用fish shell的時候,一直以來都是用2.7版本,不過一直以來我在使用dpkg指令的時候,都會發生一件事情,就是指令執行之後,就會卡住,不知道什麼原因。

後來OS升級到Ubuntu 18.04與升級fish 3.0.0版本之後,這個問題就解決了,所以看起來是版本的問題。

而要升級到fish shell 3.0.0,則使用下面的指令就可以把fish shell 從2.7升級到3.0.0了。


sudo apt-add-repository ppa:fish-shell/release-3

sudo apt-get update

sudo apt-get install fish

參考資料