Windows10 如何交叉编译 Go 程序
How to CrossCompile Go programs on Windows 10
我想为 linux 机器编译 Go 程序。我总是使用此处描述的方式:
How to cross compile from Windows to Linux?
在 Windows 10 的最后一次大更新之前一直运行良好。现在我无法将 GOOS
设置为
set GOOS=linux
我也尝试以管理员身份启动 PowerShell,但即使那样也不起作用。
有没有可以做到这一点的工具?或者还有其他方法可以在 Windows 10 上交叉编译 Go 程序吗?
set
是 Windows 命令行解释器 (cmd.exe
) 的内部命令。
如果您使用的是 PowerShell,则应按以下方式更改环境变量的值:
$Env:<variable-name> = "<new-value>"
有关详细信息,请参阅 PowerShell documentation: About Environment Variables
所以要更改 GOOS
,请使用:
$Env:GOOS = "linux"
要进行交叉编译:
导航到 main
包所在的文件夹。
运行 $Env:GOOS = "linux"
可选运行$Env:GOARCH = "amd64"
运行 go build
或者您可以在一行中完成:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build
指定输出文件名:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello
我想为 linux 机器编译 Go 程序。我总是使用此处描述的方式:
How to cross compile from Windows to Linux?
在 Windows 10 的最后一次大更新之前一直运行良好。现在我无法将 GOOS
设置为
set GOOS=linux
我也尝试以管理员身份启动 PowerShell,但即使那样也不起作用。 有没有可以做到这一点的工具?或者还有其他方法可以在 Windows 10 上交叉编译 Go 程序吗?
set
是 Windows 命令行解释器 (cmd.exe
) 的内部命令。
如果您使用的是 PowerShell,则应按以下方式更改环境变量的值:
$Env:<variable-name> = "<new-value>"
有关详细信息,请参阅 PowerShell documentation: About Environment Variables
所以要更改 GOOS
,请使用:
$Env:GOOS = "linux"
要进行交叉编译:
导航到
main
包所在的文件夹。运行
$Env:GOOS = "linux"
可选运行
$Env:GOARCH = "amd64"
运行
go build
或者您可以在一行中完成:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build
指定输出文件名:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello