Windows下GO的开发环境配置及多工作区配置

2021-04-21 05:29

阅读:735

本文主要内容如下几点:

  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   


评论


亲,登录后才可以留言!