1、相关软件与环境准备

1.1 GO 安装

下载地址,https://studygolang.com/dl,选择 Windows 版,本文安装到 D:\Go

1.2 LiteIDE 安装

下载地址,http://liteide.org/cn/download/ 可以找到去下载的地方。

本文下载的是 https://github.com/visualfc/liteide/releases/tag/x36 中的 liteidex36.windows-qt5.9.5.zip

解压之后,将 liteide\bin\liteide.exe 在桌面创建个快捷方式方便以后打开即可。

这里将编译目标系统选择 win64,编译叁数中 GOROOT 的值修改为实际安装目录。

1.3 Git bash 安装

下载地址,https://www.git-scm.com/download/,选择 Windows 版。

1.4 规划一下文件夹

引用的第三方包单独给定一个存放路径,以便于管理,并将它作为 GOPATH 环境变量的第一个路径,因为 go get 下载的第三方源码总是放第一个路径的 src 中。

这里使用路径 D:\goproj\third

项目源码单独一个路径,这里使用 D:\goproj\porjs

1.5 设置环境变量

PATH,GOROOT,GOPATH 的相关介绍可参考这篇文章:https://blog.csdn.net/triplestudio/article/details/93685064 第2节。

GOROOT 在 GO 安装时通常已经自动设置好,在 PATH 中加入 %GOROOT%bin

GOPATH 设置为 D:\goproj\third;D:\goproj\projs。注意在 Windows 多个路径使用分号隔开,而 Linux 使用的是冒号。

2、关于依赖包

不得不说,有很多依赖包,是直接 go get 不到,部分原因是访问被禁止了。此时可以通过以下网站进行下载,它专注于 Go 语言包管理。

https://gopm.io/

对于 go module 方式,则可以增加环境变量 GOPROXY,设置为:https://goproxy.io,它会代理下载相关的依赖包,这样一来,多数项目就可以无障碍的去加载编译了。

具体可参考 https://segmentfault.com/a/1190000018264719

3、源码下载与编译

假如项目地址为:https://github.com/xxx/yyy

则可以在 D:\goproj\projs\src 下创建 github.com 目录,再创建子目录 xxx,然后,再以命令行方式进入 xxx,执行以下命令取得项目源码。

git clone https://github.com/xxx/yyy

如果源码中存在 go.mod 文件,则表示可以使用 go module 来管理依赖包,这时,可以启用以下参数,表示启用该方式。

至此,编译已经是件简单的事情,有疑问欢迎关注“时间维度”交流讨论。

在 Windows 中编译 Github 中的 GO 项目的更多相关文章

  1. 直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分

    直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的 ...

  2. bundler-sfm windows下编译过程中出现的错误

    一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...

  3. 【Electron】使用 build-tools 在 Windows 中编译 electron

    [Electron]使用 build-tools 在 Windows 中编译 electron 提前准备 预留好磁盘空间 Git 缓存目录:%UserProfile%/.git_cache ,大概有 ...

  4. [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件

    在Linux里面混了一个多月,vim编程用得甚爽.无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝.再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么 ...

  5. 在windows C++中编译并使用Lua脚本

    早前就用过LUA ,只是局部的小项目使用,突然兴起想要写一些关于LUA 的  文章,记录曾经学习过的点点滴滴. 这里我使用的是LUA5.2作为 案例 lua做为轻量级脚本语言已经被广泛应用到应用软件以 ...

  6. 如何在Windows、Linux系统中安装Redis

    一:Windos下安装Redis并设置自动启动 1.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网已经没有windows版本的下载地址,只 ...

  7. Pycharm中使用GitHub

    Pycharm是当前进行python开发,尤其是Django开发最好的IDE.GitHub是程序员的圣地,几乎人人都在用. 本文假设你对pycharm和github都有一定的了解,并且希望在pycha ...

  8. FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误

    前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...

  9. 开发人员看测试之运行Github中的JBehave项目

    本文要阐述的主要有两点,一是介绍自动化测试框架JBehave,二是介绍如何在Github上拉项目,编译成myeclipse环境中的项目,并最终导入Myeclipse中运行. JBehave是何物? J ...

随机推荐

  1. linux下安装sqlite3

    1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库.2.安装:  要安装sqlite3,可以在终端提示符后运行下列命令:  sudo apt-get install sqli ...

  2. Managing uniquely tagged items using the internet

    The invention teaches managing an item in the Internet of Things, wherein the system comprises: an i ...

  3. android Notification分析—— 您可能会遇到各种问题

    使用的各种总结上线通知,csdn还有一个非常到位的总结,不这样做,反复总结,学生需要能够搜索自己或参考下面给出的链接. 研究开始时仔细阅读一些,今天,功能开发,一些问题和经验自己最近的遭遇给大家分享. ...

  4. CUDA查询和选取设备信息

    CUDA查询设备信息 CUDA C中的cudaGetDeviceProperties函数可以很方便的获取到设备的信息,函数原型是: cudaError_t CUDARTAPI cudaGetDevic ...

  5. 关于java中继承抽象类和实现接口的区别

    简单来说,继承就是“是不是”,实现就是“有没有”.(一个大神说的,我觉得很生动很形象 海子大神链接http://www.cnblogs.com/dolphin0520/p/3811437.html)

  6. EasyUI基础Draggable(拖)

    学前easyui基于解析器,装载机.对他们来说,入门阶段,我们只需要在这一个简单的了解,第一阶段,不宜过深后,. 接着,根据easyui排列官方网站为了学习文件Draggable小工具. Dragga ...

  7. 解决MacOS下readlink: illegal option -- f

    时间: 2017.03.21 分类: [操作系统] 评论 Mac下的readlink没有-f参数,诸如screenfetch又会去调用readlink -f,于是每次都会出现: readlink: i ...

  8. Something write in FSE 2014

    Now, I find a problem, I have become my personal CSDN into a personal electronic diary. Actually, th ...

  9. You don't have permission to access / on this server问题的解决.

    vhosts.conf配置文件中虚拟主机的配置如下,Options Indexes FollowSymLinks 后面添加 ExecCGI <VirtualHost 192.168.10.82: ...

  10. WCF的几个注意事项

    wcf托管服务注意的问题 加上项目分为客户端-WCF服务-逻辑层-数据库三层wcf一直出现异常,说没有初始化啊之类的,如果你的逻辑代码确定没有问题的话,思考是不是wcf的配置文件(app.config ...