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

时间:2014-12-14 22:47:06

标签: windows go

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

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

GOARCH = amd64
GOOS = linux

每当我尝试通过将GOOS更改为linux或amd64来切换平台时,就会出现问题。我使用Console 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构建任何内容。

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

我会对任何形式的输入感到非常高兴,我是新来的,并且认为我错过了一些明显的东西。

提前致谢

1 个答案:

答案 0 :(得分:1)

也许您应该检查您的环境变量,尤其是它的长度。

如果您的环境变量达到最大大小,则Windows无法正确访问env变量,因此会导致出现错误消息。

进一步资料:
Environment Variables
What happens with Path System Variable is too long?