go的解除安裝與重灌(linux系統)
前言
我在安裝配置(非本人操作)了go的linux虛擬機器上,嘗試用$ go get github.com/astaxie/beego
獲取beego框架。但是,卻出現了一個奇怪的錯誤:go: cannot find main module; see 'go help modules'
,怎麼查詢都沒有找到問題原因。這對於一個剛接觸go和linux的新手來說,是手足無措的。於是,心生一計,解除安裝重灌。
一、解除安裝
1.刪除GOROOT目錄
用$ go env
找到GOROOT目錄,在我的linux上為srv/go
,而常見的應該是usr/local/go
。然後,~~使用$ rm -rf
刪除該目錄。~~(用這個命令是不可能的,這輩子都不可能用的,這個命令刪除檔案真香)我不建議這樣刪除
,因為與Windows不同,linux這樣刪除檔案之後幾乎是很難復原的。其中,-r
指向下遞迴,不管有多少級目錄,一併刪除;-f
指直接強行刪除,不作任何提示的意思。可以看出,這個命令是很野蠻的。
所以,我們就暫時先保留這個目錄。
2.刪除GOPATH目錄
這個目錄可以保留。也可以用上述那個命令刪除,如果其中沒有重要檔案的話。
解除安裝這步就結束了(實際上並沒解除安裝)。
二、下載
1.下載安裝包
$ wget https://studygolang.com/dl/golang/go1.10.4.linux-amd64.tar.gz
從網上找linux go1.10 版本原始碼的下載網址(因為modules好像是go1.11版本的東西),然後下載到當前目錄。下載完,$ ls
就能看到一個名為 go1.10.4.linux-amd64.tar.gz 的壓縮包。
注:為什麼要下載壓縮包自己解壓安裝呢?是因為apt便捷安裝版本是1.6的,而且什麼都由apt幫你完成,因其隱祕而不喜。喜歡自己下載自己安裝,清楚知道每一步、每一包在哪。
2.解壓
$ tar -zxvf go1.10.4.linux-amd64.tar.gz
解壓到當前目錄,得到一個名為 go 的資料夾,即go原始碼。
3.轉移
$ mv go /usr/local/
在下載go原始碼的目錄下,將 go 原始碼資料夾移動到/usr/local/
資料夾下。
註解:
-
在linux中,只有一個根目錄即
/
,根目錄包含了各種linux中重要的檔案目錄,如home/、etc/、usr/、root/目錄等等。使用$ cd /
命令即能直接到達根目錄,不論你在任何目錄下。而不管你在哪/usr/local/
也能訪問根目錄下的usr資料夾。 -
另外,linux可以有多個使用者,除了許可權最大的root使用者,還可以建立其它使用者,如test使用者。每個使用者登入時都會進入該使用者的 HOME 目錄。root使用者 HOME 目錄即
/root/
目錄,而test使用者 HOME 目錄為/home/test/
。若要檢視該使用者HOME目錄,可以$ echo $HOME
。同樣,$ cd ~
能直接到達使用者 HOME 目錄下。
三、配置
$ vim /etc/profile
編輯/etc/profile檔案(全域性變數配置檔案),增加以下內容:
export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
註解:
-
GOROOT
指向go的原始碼資料夾(即下載解壓轉移後的資料夾位置)。該資料夾下的 bin/ 目錄是一些go命令的二進位制執行檔案。 -
GOPATH
指向go的工作空間。此處推薦一篇部落格https://www.cnblogs.com/pyyu/p/8032257.html 。 -
PATH=$PATH:$GOROOT/bin:$GOPATH/bin
是指在原有 PATH 環境變數路徑上加上內容,:
為分隔符。
四、檢視成果
$ go env
檢視 go 環境。
$ go get github.com/astaxie/beego
成功,版本問題。