apx*_*pxp 5 windows powershell cross-compiling go
我想为Linux机器编译Go程序。我一直使用这里描述的方式:
这工作得很好,直到从Windows 10,现在是最后的大更新,我不能够设置GOOS与
set GOOS=linux
Run Code Online (Sandbox Code Playgroud)
我也尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。有什么工具可以做到这一点?还是有另一种方法可以在Windows 10上交叉编译Go程序?
set是Windows命令行解释器(cmd.exe)的内部命令。
如果您使用的是PowerShell,则更改环境变量的值应如下所示:
$Env:<variable-name> = "<new-value>"
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅PowerShell文档:关于环境变量
因此要更改GOOS,请使用:
$Env:GOOS = "linux"
Run Code Online (Sandbox Code Playgroud)
进行交叉编译:
导航到main程序包所在的文件夹。
跑 $Env:GOOS = "linux"
可选运行 $Env:GOARCH = "amd64"
跑 go build
或者您可以单行执行:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build
Run Code Online (Sandbox Code Playgroud)
要指定输出文件名:
$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello
Run Code Online (Sandbox Code Playgroud)