在 Windows 中编译 Github 中的 GO 项目
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 语言包管理。
对于 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 项目的更多相关文章
- 直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分
直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的 ...
- bundler-sfm windows下编译过程中出现的错误
一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...
- 【Electron】使用 build-tools 在 Windows 中编译 electron
[Electron]使用 build-tools 在 Windows 中编译 electron 提前准备 预留好磁盘空间 Git 缓存目录:%UserProfile%/.git_cache ,大概有 ...
- [vim配置]windows下在vim中使用gcc/g++编译调试c/cpp文件
在Linux里面混了一个多月,vim编程用得甚爽.无奈前天将Linux里面的编程文件夹误删,而技术不精无法找回,悲痛欲绝.再者,无限怀念windows里面的游戏,并觉得现在在Linux里面也学不到什么 ...
- 在windows C++中编译并使用Lua脚本
早前就用过LUA ,只是局部的小项目使用,突然兴起想要写一些关于LUA 的 文章,记录曾经学习过的点点滴滴. 这里我使用的是LUA5.2作为 案例 lua做为轻量级脚本语言已经被广泛应用到应用软件以 ...
- 如何在Windows、Linux系统中安装Redis
一:Windos下安装Redis并设置自动启动 1.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网已经没有windows版本的下载地址,只 ...
- Pycharm中使用GitHub
Pycharm是当前进行python开发,尤其是Django开发最好的IDE.GitHub是程序员的圣地,几乎人人都在用. 本文假设你对pycharm和github都有一定的了解,并且希望在pycha ...
- FormatMessage与GetLastError配合使用,排查windows api调用过程中的错误
前一段时间在学习windows api调用过程中,遇到过一些调用错误或者程序没能显示预期的结果,或者直接出现vc运行时错误. 这对新手来说是司空见惯的事,因为不太熟悉难免会出错,出错的信息如果能显示很 ...
- 开发人员看测试之运行Github中的JBehave项目
本文要阐述的主要有两点,一是介绍自动化测试框架JBehave,二是介绍如何在Github上拉项目,编译成myeclipse环境中的项目,并最终导入Myeclipse中运行. JBehave是何物? J ...
随机推荐
- linux下安装sqlite3
1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库.2.安装: 要安装sqlite3,可以在终端提示符后运行下列命令: sudo apt-get install sqli ...
- Managing uniquely tagged items using the internet
The invention teaches managing an item in the Internet of Things, wherein the system comprises: an i ...
- android Notification分析——
您可能会遇到各种问题
使用的各种总结上线通知,csdn还有一个非常到位的总结,不这样做,反复总结,学生需要能够搜索自己或参考下面给出的链接. 研究开始时仔细阅读一些,今天,功能开发,一些问题和经验自己最近的遭遇给大家分享. ...
- CUDA查询和选取设备信息
CUDA查询设备信息 CUDA C中的cudaGetDeviceProperties函数可以很方便的获取到设备的信息,函数原型是: cudaError_t CUDARTAPI cudaGetDevic ...
- 关于java中继承抽象类和实现接口的区别
简单来说,继承就是“是不是”,实现就是“有没有”.(一个大神说的,我觉得很生动很形象 海子大神链接http://www.cnblogs.com/dolphin0520/p/3811437.html)
- EasyUI基础Draggable(拖)
学前easyui基于解析器,装载机.对他们来说,入门阶段,我们只需要在这一个简单的了解,第一阶段,不宜过深后,. 接着,根据easyui排列官方网站为了学习文件Draggable小工具. Dragga ...
- 解决MacOS下readlink: illegal option -- f
时间: 2017.03.21 分类: [操作系统] 评论 Mac下的readlink没有-f参数,诸如screenfetch又会去调用readlink -f,于是每次都会出现: readlink: i ...
- Something write in FSE 2014
Now, I find a problem, I have become my personal CSDN into a personal electronic diary. Actually, th ...
- You don't have permission to access / on this server问题的解决.
vhosts.conf配置文件中虚拟主机的配置如下,Options Indexes FollowSymLinks 后面添加 ExecCGI <VirtualHost 192.168.10.82: ...
- WCF的几个注意事项
wcf托管服务注意的问题 加上项目分为客户端-WCF服务-逻辑层-数据库三层wcf一直出现异常,说没有初始化啊之类的,如果你的逻辑代码确定没有问题的话,思考是不是wcf的配置文件(app.config ...