运行命令$ ionic cordova build android
会导致以下错误:
ANDROID_HOME=/Users/adamgoldberg/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
(node:19498) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: Requirements check failed for JDK 1.8 or greater
(node:19498) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
我认为它要我使用java JDK 1.8而不是1.9但是在~/.bash_profile
中我将JAVA_HOME设置为
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
export PATH=${JAVA_HOME}/bin:$PATH
在我的〜/ .profile中我设置了相同的方式。
我的java环境出现了(java --version
):
java 9.0.4
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
和which java
显示:/usr/bin/java
我的系统似乎没有注册我的java路径,仍在使用JDK 9.
如何修复此错误?
注意:我认为错误可能来自$echo JAVA_HOME
返回blank
这一事实。我已经查看了bash脚本以及$()和just =之间的区别但是我确信我的格式正确。
注意我的ionic info
是:
cli packages: (/Users/adamgoldberg/.npm-global/lib/node_modules)
@ionic/cli-utils : 1.19.1
ionic (Ionic CLI) : 3.19.1
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 3.1.8
Cordova Platforms : android 6.3.0 ios 4.5.4
Ionic Framework : ionic-angular 3.9.2
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.9.2
ios-sim : 6.0.0
Node : v8.8.1
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.2 Build version 9C40b
Environment Variables:
ANDROID_HOME : /Users/adamgoldberg/Library/Android/sdk
Misc:
backend : pro