跳过正文
go语言生成可执行文件
  1. Posts/

go语言生成可执行文件

·629 字·2 分钟· · ·
Golang
小碗汤
作者
小碗汤
云原生搬砖师
Table of Contents

正文
#

安装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工具也可以加载到。

-------莫愁前路无知己 天下谁人不识君-------

相关文章

linux通过VMware和主机相连连接互联网
·270 字·1 分钟·
Linux
利用procedure批量插入数据
·506 字·2 分钟·
Mysql
采坑指南——k8s域名解析coredns问题排查过程
·1652 字·4 分钟·
Kubernetes
史上最全docker基础知识汇总
·4193 字·9 分钟·
Docker
docker镜像制作必备技能
·819 字·2 分钟·
Docker
kubernetes垃圾回收器GarbageCollector控制器源码分析(一)
·6943 字·14 分钟·
Kubernetes

公众号二维码