Skip to content
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

[BUG]: MacBook M1 Pro maven 使用 -g 设置全局无效,在当前终端窗口有效,新建终端窗口后失效 #140

Open
jingbai-code opened this issue Mar 22, 2024 · 11 comments
Labels
bug Something isn't working

Comments

@jingbai-code
Copy link

Version
0.2.6
OS
macOS

Describe the bug
执行以下命令
vfox add maven/maven
vfox install maven@3.6.3
vfox use -g maven
命令执行成功后,在当前终端窗口可以正常使用 mvn 命令,新建终端窗口后 mvn 命令失效

@jingbai-code jingbai-code added the bug Something isn't working label Mar 22, 2024
@jingbai-code
Copy link
Author

安装 java、go 是可以的,全局配置正常生效,maven 不行

@aooohan
Copy link
Member

aooohan commented Mar 25, 2024

贴一下截图

@jingbai-code
Copy link
Author

当前使用情况

@aooohan
Copy link
Member

aooohan commented Mar 25, 2024

没有复现出来.
issue140

安装 java、go 是可以的,全局配置正常生效,maven 不行

这可就太奇怪了.哈哈哈哈, 对vfox而言, 他们三个都是一样的.

你可以新开tab之后, 执行一下vfox activate zsh 看看path里有maven吗

@jingbai-code
Copy link
Author

image path 中有的,mvn 命令还是不识别,很奇怪

@jingbai-code
Copy link
Author

image 这是在原来的 tab 中执行 vfox activate zsh 的结果,path 中有两个 maven,可以正常识别 mvn 命令

@zhylmzr
Copy link
Contributor

zhylmzr commented Mar 26, 2024

检查是否存在 ~/.tool-versions 文件,如果存在请移除。我发现是因为用户主目录下的文件覆盖掉了全局的设置(不清楚用户主目录下的.tool-versions是怎么生成的)

是否应该增加一个行为在 Record.Save 时过滤掉路径是用户主目录的SDK,因为如果存在主目录SDK配置,全局下的~/.version-fox/.tool-versions相同SDK会被覆盖掉。如果可以我能提一个pr

@jingbai-code
Copy link
Author

image 是这个原因,而且 `~/.tool-versions` 文件中只有 go 的版本信息

@aooohan
Copy link
Member

aooohan commented Mar 26, 2024

@zhylmzr

检查是否存在 ~/.tool-versions 文件,如果存在请移除。我发现是因为用户主目录下的文件覆盖掉了全局的设置(不清楚用户主目录下的.tool-versions是怎么生成的)

正常情况下, 使用vfox use -p 会在当前目录下生成.tool-versions文件.

是否应该增加一个行为在 Record.Save 时过滤掉路径是用户主目录的SDK,因为如果存在主目录SDK配置,全局下的~/.version-fox/.tool-versions相同SDK会被覆盖掉。如果可以我能提一个pr

应该不是这的问题, .tool-versions的优先级目前是: 当前目录下>临时目录>全局目录

是这个原因,而且 ~/.tool-versions 文件中只有 go 的版本信息

@jingbai-code 如果当前目录下.tool-versions只有go, 那不会影响你全局的maven的...

@zhylmzr
Copy link
Contributor

zhylmzr commented Mar 26, 2024

主目录下只有go的环境却影响了maven是有点奇怪🤔,我今天是遇到同样的问题因为相同sdk被覆盖掉了。

我不记得我有过在主目录下使用 vfox use -p,一直都是使用全局sdk,所以很奇怪怎么会在主目录存在 .tool-versions 文件。

@zhylmzr
Copy link
Contributor

zhylmzr commented Mar 26, 2024

这里详细列一下我遇到这个问题的情景

  • 有通过 brew 升级 vfox
  • 有升级插件以及卸载老旧 sdk

在设置新的sdk作为默认全局使用时,在新的终端下没有生效,报错的信息是命令没找到,因为新终端默认目录是主目录,刚好主目录下有 .tool-versions,里面存在被卸载的老的sdk,所以把主目录下的 .tool-versions 移除即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants