-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Goland会为终端携带GOROOT环境变量,导致使用Goland打开的终端切换版本后GOROOT不会改变 #9
Comments
这是goland配置cmder终端。 可以参考 version-fox/vfox#129 配置window终端。其他平台我没环境测额。 |
两个问题:
|
@aooohan 我刚试了下,去掉问题代码,测试时依旧没有设置GOROOT环境变量,问题依旧存在额。我暂时想不出好的解决方案, 我上面那个修改 |
不设置GOROOT也能用, 我当前环境macos + zsh + idea正常的. |
切换后,执行 |
https://github.com/version-fox/vfox-golang/blob/main/hooks/env_keys.lua 这个脚本没加 不过我测试了 function PLUGIN:EnvKeys(ctx)
local mainPath = ctx.path
return {
{
key = "GOROOT",
value = mainPath
},
{
key = "PATH",
value = mainPath .. "/bin"
}
}
end 和 function PLUGIN:EnvKeys(ctx)
local mainPath = ctx.path
return {
{
key = "GOROOT",
value = ""
},
{
key = "PATH",
value = mainPath .. "/bin"
}
}
end 这两个结果都是一致的。当环境变量不存在 我恢复了之前我的改动,并用上面两种方式的lua脚本,测试结果都没问题额。 我现在感觉有点懵啊,用你给截图所示的 |
... 就是没有啊, 我截图是我手改的.... 这个ISSUE还没关呢, 加上GOROOT我不就关了吗..... 不用纠结了. vfox呢边没问题了, 现在就就是插件这里还没加GOROOT. 😂 |
@aooohan 我现在纠结的是,可以不用撤回我那个改动额。因为我测试了用改后的 因为我确实不希望每次敲命令都设置一遍环境变量额。 |
有问题的, 你可以先全局设置一个golang版本, 然后你在通过goland打开shell, 你会发现切换不了..... |
可能我复现的方式不对吧,我在clink_vfox.lua添加打印,打开goland终端前已经设置好全局版本,然后在goland打开的终端执行全局切换和会话切换,结果都可以成功。下面图演示的是 https://github.com/jan-bar/vfox/tree/feat_add_clink 这里的代码,和添加GOROOT设置的 |
我用windows也试一下吧, 正好试试你的这个clink脚本 |
好像破案了,我之前也遇到过发现不管怎么切换都不会改变,最终发现是项目当前目录存在 这个文件是 现在有2个问题:
|
这个确实需要处理.
没回滚错, 就算不存在.tool-versions. 我这个环境仍然不生效. 如果加上你呢段代码的话, 注掉就没事了. |
我是 |
如图,使用Goland时需要选定一个版本
如下所示,通过Goland打开的终端会自动携带Goland的GOROOT环境变量,无论vfox如何切换这个环境变量不会变
我通过修改下面脚本,把GOROOT环境变量 unset 取消掉,最终达到我的需求。
如下所示,现在通过Goland打开的终端切换版本时 GOROOT 环境变量也会根据 go.exe 所在目录自动切换。
我想问下,我这个方案是否可靠,有没有考虑不到的情况。如果没问题,可否考虑更新脚本额。
The text was updated successfully, but these errors were encountered: