我想为linux机器编译一个Go程序。我总是用这种方式,在这里可以这样描述:
在Windows10上一次大的更新之前,这种方法运行得很好。
set GOOS=linux
我还试图以管理员的身份启动PowerShell,但即使这样也不起作用。有什么工具可以做到这一点吗?还是有其他方法交叉编译Windows 10上的Go程序?
发布于 2018-06-18 15:02:39
set
是Windows命令行解释器(cmd.exe
)的内部命令。
如果您使用的是PowerShell,那么更改环境变量的值应该如下所示:
$Env:<variable-name> = "<new-value>"
有关详细信息,请参阅PowerShell文档:关于环境变量
因此,要更改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
https://stackoverflow.com/questions/50911153
复制相似问题