问题
最近在做项目时,需要使用golang
的交叉编译,在windows
系统上打包一个可以在linux
系统上运行的golang程序的二进制文件。
这就需要暂时修改一下golang的配置环境
:
set GOARCH = amd64
set GOOS = linux
但是修改的时候发现在goland终端
输入这两条命令之后,虽然终端不会报错,但是go env
查看之后,发现配置环境还是没有修改成功。
问题排查
然后使用windows系统中的cmd
终端:
可以发现,使用cmd
终端成功修改了
问题解决
经过查询之后,发现在goland终端
修改不成功的原因是因为goland终端使用的是PowerShell
,而使用cmd
和使用PowerShell
终端修改配置变量的语法命令是不一样的,所以在goland终端中修改配置变量没有生效。
解决:
cmd
终端修改命令:
set GOARCH = amd64
set GOOS = linux
PowerShell
终端修改命令(也就是在goland中):
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"
问题解决。