我想为linux机器编译Go程序。我总是使用这里描述的方式:
How to cross compile from Windows to Linux?
直到Windows 10的最后一次重大更新才能很好地工作。现在我无法使用
设置GOOS
set GOOS=linux
我还尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。 有没有可以做到这一点的工具?或者是否有另一种方法可以在Windows 10上交叉编译Go程序?
答案 0 :(得分:6)
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
答案 1 :(得分:0)