如何在Windows 10上交叉编译Go程序

如何在Windows 10上交叉编译Go程序,windows,powershell,go,cross-compiling,Windows,Powershell,Go,Cross Compiling,我想为linux机器编译一个Go程序。我一直使用的方式如下所述: 在Windows10的最后一次大更新之前,这一切都很顺利。现在我无法使用设置GOOS set GOOS=linux 我还尝试以管理员身份启动PowerShell,但即使这样也不起作用。 有什么工具可以做到这一点吗?或者在Windows 10上有其他交叉编译Go程序的方法吗?set是Windows命令行解释器的内部命令(cmd.exe) 如果您使用的是PowerShell,那么更改环境变量的值应该按照以下方式进行: $Env:&

我想为linux机器编译一个Go程序。我一直使用的方式如下所述:

在Windows10的最后一次大更新之前,这一切都很顺利。现在我无法使用设置
GOOS

set GOOS=linux
我还尝试以管理员身份启动PowerShell,但即使这样也不起作用。
有什么工具可以做到这一点吗?或者在Windows 10上有其他交叉编译Go程序的方法吗?

set
是Windows命令行解释器的内部命令(
cmd.exe

如果您使用的是PowerShell,那么更改环境变量的值应该按照以下方式进行:

$Env:<variable-name> = "<new-value>"
要进行交叉编译,请执行以下操作:

  • 导航到
    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
    

    我也面临同样的问题

    安装此软件包

    cross-env GOOS=linux go build -o hello
    

    “无法设置
    GOOS
    ”是什么意思?你有错误吗<代码>GOOS未更改?或者?cmd不会改变任何东西
    cross-env GOOS=linux go build -o hello