我正在尝试使用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。
我会对任何形式的输入感到非常高兴,我是新来的,并且认为我错过了一些明显的东西。
提前致谢
答案 0 :(得分:1)
也许您应该检查您的环境变量,尤其是它的长度。
如果您的环境变量达到最大大小,则Windows无法正确访问env变量,因此会导致出现错误消息。
进一步资料:
Environment Variables
What happens with Path System Variable is too long?