Windows下的Goland编译Linux可执行程序

Windows下的Goland编译Linux可执行程序

场景

Windows系统安装了Goland,且Goland中指定终端使用Git Bash。在该场景下编译出Linux可执行程序。

解决方法一(cmd):

  • 在Windows的cmd设置go的环境变量
    set GOARCH=amd64
    set GOOS=linux
  • 在cmd终端下编译程序
    go build xx.go
  • 将可执行程序拷贝到linux系统某个文件夹下,赋予可执行权限并执行
    chmod 777 xx
    ./xx

解决方法二(Git Bash):

在cmd终端下更改了go的环境变量,但是对Goland的终端(Git Bash)无效;且在Git Bash执行set GOOS=linux也不生效。

  • 在Git Bash终端设置go的环境变量
    export GOARCH=amd64
    export GOOS=linux
  • 在Git Bash终端下编译程序
    go build xx.go
  • 将可执行程序拷贝到linux系统某个文件夹下,赋予可执行权限并执行
    chmod 777 xx
    ./xx

说明

以上两种解决方法只能临时修改go的环境变量,重启Goland或者重启cmd终端后失效。
执行 go env -w GOOS=linux 可以修改go的环境变量GOOS,且当重启Goland后或者打开其他项目后都有效。但是在Git Bash下执行chmod 777 xx赋予文件xx可执行权限失败。

如果按上述方式永久修改了GOOS,使用Goland的run命令直接运行程序会失败,即使临时设置export GOOS=windows也不起作用,只能通过go env -w GOOS=windows修改GOOS后才能在Goland中直接运行程序。

终上所述,在windows系统的Goland中编译Linux的可执行程序时,建议临时修改export GOOS=linux,而不是使用go env -w GOOS=linux永久修改。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值