繁体   English   中英

错误:JAVA_HOME 设置为无效目录:请在您的环境中设置 JAVA_HOME 变量以匹配您的 Java 安装位置

[英]ERROR: JAVA_HOME is set to an invalid directory: Please set the JAVA_HOME variable in your environment to match the location of your Java installation

当我运行“flutter doctor --android-licenses”时,我努力修复下面的错误,

错误:JAVA_HOME 设置为无效目录:/usr/lib/jvm/java-11-openjdk-amd64

请在您的环境中设置 JAVA_HOME 变量以匹配您的 Java 安装位置。

我想我应该把它作为一个问题发布并提供一个回复,因为这个问题的其他答案对我没有帮助。

请在下面查看我的解决方案。

  1. 运行以下命令以选择您要使用的 java 版本。

    sudo update-alternatives --config java

    你会从终端得到类似的东西。 在此处输入图像描述

  2. 按您要使用的 java 版本对应的数字。 例如,按下以保留当前选择[*],或键入选择编号:0

  3. 复制您选择的 java 版本对应的 PATH。 就我而言,因为我选择了 0 号版本,所以我的 PATH 是 /usr/lib/jvm/java-11-openjdk-amd64/bin/java。 但是省略PATH 的最后一部分,即“/bin/java”。 所以现在你的 PATH 是 /usr/lib/jvm/java-11-openjdk-amd64

  4. 运行以下命令,其中 PATH 值是从上面复制的值。 export JAVA_HOME=PATH 就我而言,我将运行 JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

  5. 运行此命令,按原样复制它。 不要改变任何东西。 回声 $JAVA_HOME

  6. 按照这个命令,照原样复制它。 不要改变任何东西。 导出 PATH=$PATH:$JAVA_HOME/bin

  7. 运行此命令,回显 $PATH

    这将给出您的 $JAVA_HOME 值的完整路径。

    就我而言,这就是我得到的。 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/ lib/jvm/java-11-openjdk-amd64/bin

  8. 现在你被排序了。

  9. “颤振医生--android-licenses”,运行成功。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM