SDKMAN 5.5.9+231 表示包在 MacOS 上不是有效的候选包



我不知道为什么会发生这种情况,但是我的SDKMAN停止工作,并且仅针对我想列出,安装或使用的任何软件包显示以下消息。

$ sdk list java
Stop! java is not a valid candidate.
$ sdk install java
Stop! java is not a valid candidate.
$ sdk use java 8u131
Stop! java is not a valid candidate.

不过,只需输入sdk list就可以了。但我什么也做不了。我的.bash_profile包含以下内容:

export JAVA_HOME=$(/usr/libexec/java_home)
export SDKMAN_DIR="/Users/myusername/.sdkman"
[[ -s "/Users/myusername/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/myusername/.sdkman/bin/sdkman-init.sh"

还要仔细检查是否将目标 sdk 放在版本前面。这不起作用:

sdk install 9.0.4-openjdk

停下!9.0.4-openjdk 不是有效的候选项。

正确指定它的工作原理是:

sdk install java 9.0.4-openjdk

问题出在服务器端。与SDKMAN的候选人API有关。如 GitHub 问题中所述,您可以使用以下命令来解决问题:

sdk flush candidates

确保之后重新启动终端

今天遇到了同样的问题。使用sdk flush candidates并重新启动终端后,我收到相同的消息。

所以不得不运行sdk update然后重新启动终端。这又增加了候选人。

我的问题是以下导出

export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh

不在~/.bashrc文件的底部。发生这种情况是因为我安装了其他工具,这些工具最终位于~/.bashrc的底部。

当我将其移动到底部并重新启动终端时sdk开始工作。

最新更新