windows系统使用终端和goland编辑器打包golang程序方法
上一篇文章说了,windows系统,如何使用goland编辑器打包exe和linux程序,这篇文章再补充一下,使用终端和goland编辑器打包的对比情况。
这里的终端可以是,cmd、Windows PowerShell、MINGw64
这里,我使用goland编辑器里面的Terminal,也就是Windows PowerShelll来操作
1、goland编辑器打包exe或者linux
Modify Run Configuration不设置Environment(或者设置GOOS=windows),则打包exe
Modify Run Configuration设置Environment:GOOS=linux,则打包linux
注意:这2个操作跟go env环境变量里面的GOOS的值无关
2、终端打包exe或者linux
先查看go env
打包
第二个文件,我故意命名为.exe后缀的文件,直接终端运行一下,看看效果
结果显示无法执行1-linux.exe,虽然是.exe后缀的,但是它本质是linux的文件,所以windows无法执行,将此文件部署到linux环境下,赋予执行权限,是可以正常执行的
1-linux文件同样可以执行成功
现在修改go env GOOS参数为windows,这里我有个疑问,网上好多说直接set GOOS=linux即可,但是我这样操作,却是不行的😂😂😂😂
可以看到,环境变量里面是没有变化的,我是这样设置的
此时,环境变量GOOS的值已经发了变化,执行打包操作
我依然打了2次包,一个有后缀exe,一个没有,我们来执行下看看效果
可以看到,2个文件都可以成功执行,那放到linux下面可以执行吗,来,试试
不好意思,都是不能执行的。
3、总结如下:
3.1、用goland编辑器打包,直接用Modify Run Configuration设置Environment来控制
3.2、用终端来打包,通过设置go env -w GOOS来控制