close

到目前為止都是在Windows上透過VSCode在處理,但東西最終都是要上到Linux環境上跑的,轉移的過程中順便記錄一下安裝步驟:

 

1)最先安裝EPEL的額外開發套件

# yum install epel-release

 

2)接著安裝Golang的本體

# yum install golang

安裝完畢後可以先行確認一下Go的相關環境設定

# go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/golang"
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build235891392=/tmp/go-build"
CXX="g++"
CGO_ENABLED="1"

 

3)GOPATH設定

這裡可以看到GOPATH尚未被設定,GOPATH的位置將會影響日後使用go get下載的第三方函式庫的存放位置以及平常import package的參考位置,因為Linux上在import無法使用相對路徑,因此專案位置也必須一併增加到GOPATH上,當有複數個GOPATH時,go get下載的函式庫默認放到第一個GOPATH裡,在Windows上使用分號區隔( ; ),Linux則是使用冒號( : )。

特別需要注意的是,import package的參考位置會在GOPATH中默認再加上/src

# export GOPATH=$HOME/go:/mySource

像這樣設定便是將下載的package放到$HOME/go底下統一管理,但自己project子目錄的import也可以正常使用

 

4)應該馬上會發現go get還無法使用,網路上看到的建議通常是安裝hg,但假如東西都在git上的話安裝git也是一樣

# yum install git 
  or
# yum install hg

 

5)最後要處理的是import問題,之前在Windows上寫的時候,以下面這個資料夾為例

myProject/
      | - main.go
      | - client/
             | - client.go

在main.go中直接

import (
    client "./client"
)

是沒有問題的,但在Linux裡這種相對位置的寫法會無法找到正確的package,因此必須使用前面提到的GOPATH來指定package位置才行,因此最後的import也會變成

import (
    client "myProject/client"
)

不要忘記你的myProject前面還必須要有一層/src,例: /mySource/src/myProject

 

6)修改過後重新進行編譯

# go build

程式終於可以順利地被產出了

 

下一篇:

[Golang] 學習筆記(7) VSCode GOPATH異常排除(非正規)

arrow
arrow
    文章標籤
    golang linux centos
    全站熱搜

    不來嗯 發表在 痞客邦 留言(0) 人氣()