go语言生成可执行文件

安装go后,我们一般会设置好GOROOT和GOPATH环境变量,但是有时候因为实际工作中项目结构复杂,设置的GOPATH不能满足需要时,可以在cmd设置临时的GOPATH;很多IDE,比如IDEA也可以设置全局的GOPATH和临时的GOPATH,但是编译可执行文件可能有些复杂或者通过IDE编译或者运行会出现app.conf配置文件加载不到的情况,这个坑我遇到过。请看https://github.com/astaxie/beego/issues/1831
故通过命令的方式生成go的可执行文件。

  • 比如项目结构是这样:


    项目结构

由于依赖了github.com里的beego,所以要加github.com的上级目录到GOPATH。

1. 打开cmd命令窗口,用命令设置要编译包以及依赖包所在路径的环境变量,即GOPATH(该设置只对该窗口生效):

set GOPATH=E:\ProgrammerRoute\Go\Development\

2.然后设置操作系统:

  • 生成windows的可执行文件:

set GOOS=windows

  • 生成linux的可执行文件:

set GOOS=linux

3.然后在src目录下执行go install

go install sayHello

没有报错的话,会在GOPATH下生成bin和pkg目录,可执行文件在bin目录下,如图:


可执行文件

注:
beego1.7.0前的版本app.conf里的配置加载不到,以下的github有issue可寻:
https://github.com/astaxie/beego/issues/1831

利用beego1.7.0之后的版本,用IDE运行go工程也加载不到app.conf的配置,利用go install也加载不到;
用go run main.go可以加载app.conf,用bee工具也可以加载到。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支...
    一缕殇流化隐半边冰霜阅读 33,639评论 11 90
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • 申金鑫 17101223365 转载自公众号flysnow_org 【嵌牛导读】:本文介绍了各种系统下的Go语言环...
    Felixxin阅读 8,653评论 0 20
  • 欢迎扫码关注公众号flysnow_org,第一时间看后续文章。觉得有帮助的话,顺手分享到朋友圈吧,感谢支持。 前段...
    飞雪无情flysnow_org阅读 33,330评论 4 45
  • [幸福路人 宋艳俊 平顶山郏县 坚持分享第165天 2018.1、24] 今天是腊八,我国自古以来就有喝腊...
    简单男孩阅读 2,823评论 0 0