猿问

无法在 win7 上干净地设置 GOOS 环境变量

我正在尝试使用 golangs 交叉编译功能在我的机器(windows 7)上进行编译,以便在为 linux 和 amd64 编译之间切换。


我正确设置了所有内容并创建了环境变量


GOARCH = amd64

GOOS = linux

每当我尝试通过将 GOOS 更改为 linux 或 amd64 来在平台之间切换时,就会出现我的问题。我使用控制台 2来管理我的标准 cmd、cygwin 控制台和 git 控制台。更改 GOOS 后:


xset GOOS=amd64

不同的控制台显示变量的不同值,例如:


//git bash

echo $GOOS

linux

//cmd

echo %GOOS%

amd64

即使在重新启动所有控制台后也会发生这种情况。此外,我突然无法访问系统的某些部分!尝试访问我的系统属性中的“高级系统设置”现在返回警告:


"%windir%\system32\systempropertiesadvanced.exe" could not be found.

这听起来像 win7 突然不能处理它自己的环境变量了。


这也意味着我无法再通过 Windows GUI 更改变量。


最重要的是,“go”命令不再受约束,我无法用 go 构建任何东西。


到目前为止,我唯一的解决方案是每次更改变量时重新启动整个系统。重新启动后,变量被更改,一切正常,直到我想再次更改 GOOS。


我会对任何类型的输入感到非常高兴,我是新手,并假设我遗漏了一些明显的东西。


提前致谢


智慧大石
浏览 150回答 1
1回答

qq_遁去的一_1

也许您应该检查您的环境变量,尤其是它的长度。如果您的环境变量达到最大大小,Windows 将无法正确访问 env 变量,因此会导致您的错误消息。
随时随地看视频慕课网APP

相关分类

Go
我要回答