Win11 GOROOT 环境变量无效
imlinhanchao opened this issue · 8 comments
Describe the bug/缺陷描述
按照 readme 方式手动安装:
$env:GOROOT="C:\env\g\go"
$env:Path=-join("C:\env\g\bin;", "$env:GOROOT\bin;", "$env:Path")
执行 g install 1.20.8
最终生成的 go link 在 $HOME\.g\go
而非 C:\env\g\go
To Reproduce/缺陷复现步骤
同问题描述
Expected behavior/期望行为
生成 link 在 C:\env\g\go
Environments (please complete the following information)/运行环境:
-
OS:Windows 11 22H2
-
g --version
g version 1.5.2 build: 2023-09-05T21:47:28+08:00 branch: release/1.5.2 commit: dd615e5d
你想要切换家目录吧?那应该是使用G_HOME
来控制。
不是,是要修改go的链接目录
默认的g家目录是在$HOME\.g
,而你希望换成C:\env\g
,是这样吧?
不是,是默认的执行 install 或 use ,go 对应版本会 link 到 $HOME\.g\go
,而我希望 link 到 C:\env\g\go
这就是自定义g家目录的需求。你想要把软连接切换到其他目录,就得切换家目录(所有g相关的文件都在家目录下),可以看看FAQ中的第三点。首先设置G_EXPERIMENTAL=true
,其次设置G_HOME=C:\env\g
。
这就是自定义g家目录的需求。你想要把软连接切换到其他目录,就得切换家目录(所有g相关的文件都在家目录下),可以看看FAQ中的第三点。首先设置
G_EXPERIMENTAL=true
,其次设置G_HOME=C:\env\g
。
这个后面有试过,也无效,感觉是获取不到环境变量。
不会无效,这功能不复杂,主要通过环境变量控制,大概率是你环境中设置的环境变量没设置对或者设置了没生效,或者比如你用了wsl,那么Windows和Linux下就是两套环境变量,等等的原因。我建议排查下环境变量,确保当前shell下都起效了。
ok,修改为指令为 $env:G_EXPERIMENTAL="true"
可以切换了,我之前是写的 $env:G_EXPERIMENTAL=true