windows打包linux运行的go文件

用终端切换到main.go目录下

set GOARCH=amd64
  //设置目标可执行程序操作系统构架,包括 386,amd64,arm
set GOOS=linux
 //设置可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
go build           //打包

set GOOS=linux 不好使的话
直接
go env -w GOOS=linux
但是要记得改回来

打包好的文件和目录同名,按照当前目录格式和静态文件一起放到linux go\src目录下运行。

./ xxx.go

如果遇到 permission denied错误 权限不够

chmod u+x *.sh

如果程序需要cgo,打包可能会出现如下错误

imports <cgo目录>: build constraints exclude all Go files in <cgo文件目录>

解决方案:

  设置环境变量中的CGO_ENABLED
  支持CGO时,set CGO_ENABLED=1
  反之则设置,set CGO_ENABLED=0
  或者下面这个
  go env -w CGO_ENABLED=1

然后可能报错,缺少gcc编译器,需要进行安装

cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%
下载地址
https://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
解压之后添加环境变量
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要将一个Go语言项目打包Windows可执行文件Linux安装包,可以使用以下步骤: ## 打包Windows可执行文件(.exe) 1. 安装Go编译器并设置环境变量。 2. 在项目根目录下使用以下命令生成可执行文件: ``` go build -o myapp.exe ``` 这将在当前目录下生成名为`myapp.exe`的可执行文件。 3. 使用[UPX](https://upx.github.io/)对可执行文件进行压缩,可以减小文件大小: ``` upx myapp.exe ``` 4. 打包压缩后的可执行文件和必要的资源文件为一个zip包,然后将zip包重命名为.exe后缀即可。 ## 打包Linux安装包(.tar) 1. 安装Go编译器并设置环境变量。 2. 在项目根目录下使用以下命令生成二进制文件: ``` go build -o myapp ``` 这将在当前目录下生成名为`myapp`的二进制文件。 3. 将二进制文件和必要的资源文件放入一个文件夹中。 4. 在该文件夹中创建一个`install.sh`脚本,用于安装程序。例如: ``` #!/bin/bash cp myapp /usr/local/bin/ ``` 这个脚本将把`myapp`二进制文件复制到`/usr/local/bin/`目录下。 5. 使用以下命令将文件打包成tar文件: ``` tar -czvf myapp.tar.gz myapp_folder/ ``` 这将在当前目录下生成名为`myapp.tar.gz`的压缩文件。 6. 将tar文件上传到服务器,并使用以下命令解压: ``` tar -xzvf myapp.tar.gz ``` 7. 执行`install.sh`脚本安装程序: ``` sh install.sh ``` 这将把二进制文件复制到指定目录,并为您配置好程序。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值