1. 程式人生 > >Windows下GO的開發環境配置及多工作區配置

Windows下GO的開發環境配置及多工作區配置

mar .html fin 依賴 下載 系統變量 not found rap 最新版

本文主要內容如下幾點:

  1. 下載安裝GO
  2. 配置多個工作區,第一個默認放第三方包,其他的放項目代碼
  3. 包管理器godep的安裝使用
  4. 安裝過程中的一些坑(墻)
  5. vscode中使用go

1. 下載並安裝go

官網下載 或者golang中國下載
默認安裝到C:\GO,使用go version查看版本:
技術分享圖片
當前版本為:1.10

2. 新建工作區

技術分享圖片

  1. 新建兩個文件夾
    DepSource\src:放置go依賴包的源代碼
    GoCoding\src:放置自己或者測試項目的代碼目錄
  2. 將這兩個文件夾的路徑以及對應的bin按順序配置到環境變量GOPATH中,新建系統變量GOPATH,然後值為:C:\GoWorks\DepSource;C:\GoWorks\GoCoding;C:\GoWorks\DepSource\bin;C:\GoWorks\GoCoding\bin;
    盤符請自行修改
  3. %GOPATH%配置到系統變量path

    ------------
    在家裏面電腦重新配置了下,Go安裝在了D盤,GOPATH配置到了E盤,如下圖所示
  • 文件夾
    技術分享圖片
  • 環境變量
    技術分享圖片

3. 安裝包管理器godep

3.1 下載

  1. 獲取godep包:go get -v github.com/tools/godep -v 顯示日誌輸出 -u 更新到最新版本
  2. 下載完成後查看C:\GoWorks\DepSource\bin\godep.exe是否存在godep.exe,有則安裝成功
  3. 根據Godeps\Godeps.json配置還原依賴包

    如果項目中有Godeps\Godeps.json

    ,則可以使用godep get安裝所需依賴包

3.2 生成go項目的依賴配置文件

  1. 新建一個go項目oneGo(GoCoding\src\oneGO),創建main.go文件,並引入一個測試包,並打開cmd到當前路徑

    package main
    
    import (
        test "github.com/yimogit/gotest"
    )
    
    func main() {
        test.HelloWord()
    }
  2. 安裝測試的包:go get -v github.com/yimogit/gotest
  3. 構建依賴配置:godep save
  4. success,若成功則看到oneGo文件夾下生成了Godeps,vendor
    文件夾
  5. 運行:go run main.go,則控制臺輸出Hello Word
  6. 打包exe則使用 go build -o test.exe

4.在安裝go框架gin的時候會有一些依賴包需要手動安裝一些包

開始執行godep save構建依賴配置文件,第一次使用這個命令的話會報一堆缺少github.com/*/*包的錯誤,安裝即可 錯誤圖一覽
當遇到godep: Package (golang.org/x/sys/unix) not found,即從golang.org下載包失敗的時候(如果你能成功算我沒說),需要改變路徑從GitHub去下載(墻了,然後go在GitHub放了一份~)
具體解決方案為:
在之前設置的GOPATH路徑(C:\GoWorks\DepSource\src)新建golang.org\x文件夾,然後克隆或者下載sys包
完整命令(自行修改路徑):git clone https://github.com/golang/sys.git C:\GoWorks\DepSource\src\golang.org\x\sys
在安裝過程若出現包下載失敗的情況可以直接使用clone命令下載到github.com文件夾,然後執行go get github.com/x/x就能夠安裝了

5. vscode中使用需要安裝的依賴包

安裝擴展:vscode-go
安裝依賴:可以根據vscode的提示或者直接安裝下面這些依賴包,更多介紹可參考VsCode中配置GO開發環境

go get -u -v github.com/nsf/gocode      
go get -u -v github.com/rogpeppe/godef      
go get -u -v github.com/golang/lint/golint   
go get -u -v github.com/lukehoban/go-find-references   
go get -u -v github.com/lukehoban/go-outline        
go get -u -v sourcegraph.com/sqs/goreturns          
go get -u -v github.com/tpng/gopkgs     
go get -u -v github.com/newhook/go-symbols      
go get -u -v github.com/peterh/liner 
go get -u -v github.com/derekparker/delve/cmd/dlv   

Windows下GO的開發環境配置及多工作區配置