如何在Windows 10上运行CrossCompile Go程序

时间:2018-06-18 13:56:36

标签: windows powershell go cross-compiling

我想为linux机器编译Go程序。我总是使用这里描述的方式:

How to cross compile from Windows to Linux?

直到Windows 10的最后一次重大更新才能很好地工作。现在我无法使用

设置GOOS
set GOOS=linux

我还尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。 有没有可以做到这一点的工具?或者是否有另一种方法可以在Windows 10上交叉编译Go程序?

2 个答案:

答案 0 :(得分:6)

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

如果您正在使用PowerShell,则应更改环境变量的值,如:

$Env:<variable-name> = "<new-value>"

有关详细信息,请参阅PowerShell documentation: About Environment Variables

所以要更改GOOS,请使用:

$Env:GOOS = "linux"

进行交叉编译:

  1. 导航到main包所在的文件夹。

  2. 运行$Env:GOOS = "linux"

  3. 可选择运行$Env:GOARCH = "amd64"

  4. 运行go build

  5. 或者你可以在一行中完成:

    $Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build
    

    指定输出文件名:

    $Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello
    

答案 1 :(得分:0)

我遇到了同样的问题

安装此软件包

https://www.npmjs.com/package/cross-env

然后运行

%in%