找不到“ JAVA_HOME”环境变量。尝试手动设置

时间:2019-10-12 16:19:51

标签: android linux ionic-framework

我正在尝试使用以下命令在Android设备上运行示例应用程序:

sudo ionic cordova run android --device

我遇到此错误:

Failed to find 'JAVA_HOME' environment variable. Try setting it manually.
[ERROR] An error occurred while running subprocess cordova.

        cordova build android --device exited with exit code 1.

        Re-running this command with the --verbose flag may provide more information.

我已经设置了JAVA_HOME环境变量,但这不起作用。

~/Ionic/helloWorld$ echo $JAVA_HOME 
/usr/lib/jvm/java-12-openjdk-amd64

有什么建议吗?

4 个答案:

答案 0 :(得分:0)

您已经安装了Java OpenJDK,应该安装Java SE。您可以找到特定于系统的JDK here

您的JAVA_HOME应该如下所示

/usr/lib/jvm/java-8-oracle (I have java 8 , you can have any version)

答案 1 :(得分:0)

您的$JAVAHOME指向正确的位置。但是路径应该具有$JAVAHOME/bin目录,而不是$JAVAHOME本身。

JAVA_HOME="/opt/jdk1.12.0"
export JAVA_HOME
PATH="$PATH:$JAVA_HOME/bin"

您应该考虑改为使用Oracle Java PPA。它通常比手动安装具有更多功能。您也不必担心设置环境变量。这就是大多数人使用的方式。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

尝试运行java -version和javac -version来验证路径是否已设置。

希望有帮助。

答案 2 :(得分:0)

我让它工作的唯一方法是在命令本身中声明变量。

试试这个:

sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ANDROID_SDK_ROOT=/usr/lib/Android/Sdk/ cordova requirements android --verbose

答案 3 :(得分:0)

第 1 步:

您的 Java SDK 12 版本未设置为 JAVA_HOME 环境。您可以使用以下命令进行设置:

JAVA_HOME="/opt/jdk1.12.0"
export JAVA_HOME
PATH="$PATH:$JAVA_HOME/bin"

提示:您可以使用以下命令搜索机器上安装的 JDK 列表: cmd + shift + G 并输入 /Library/Java/JavaVirtualMachines

第 2 步:

如果你得到一个错误native-run was not found on your PATH 那么你需要全局安装:

npm i -g native-run

Screenshot-1

第 3 步:

运行上述命令时,如果出现权限被拒绝错误,请使用超级管理员权限运行:

sudo npm i -g native-run

Screenshot-2

第 4 步:

现在再次运行 sudo ionic cordova run android --device 命令时,您可能会收到有关 gradle 的错误。您可以在终端窗口中使用以下命令修复此问题:

brew install gradle

提示:我花了大约 10 分钟来安装 gradle(第一次使用)。

Screenshot-3

第 5 步:

现在 sudo ionic cordova run android --device 命令应该可以在 android 设备上启动您的应用程序而不会出现任何错误。