【发布时间】:2014-11-07 12:46:37
【问题描述】:
我已将我的 Mac 更新为 Yosimite。我还安装了 JDK 1.8x。但是,当我去phonegap run android 时,我得到以下信息:
[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
/Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:126
throw e;
^
Error: Failed to run "javac -version", make sure you have a Java JDK (not just a JRE) installed.
at /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/lib/check_reqs.js:43:27
at ChildProcess.exithandler (child_process.js:641:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
{ [Error: /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/create: Command failed with exit code 8] code: 8 }
[error] /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/create: Command failed with exit code 8
我已经设置了我的$JAVA_HOME,当我设置javac -version 时,我得到了javac 1.8.0_25。一切似乎都很好。
我唯一能想到的是 phonegap 是在运行时改变路径
【问题讨论】:
-
@Sentenia - 你成功了吗?我的 %JAVA_HOME% 设置正确,我可以在该目录中看到 javac.exe - 所以我有点困惑为什么它没有出现: /
-
不太清楚为什么会这样,但是您是否尝试过在 shell 中回显路径变量(命令提示符)。例如
echo %JAVA_HOME%是否吐出正确的东西。此外,即使您的 %JAVA_HOME% 已设置,您仍然需要确保实际的 %PATH% 系统变量包含 Java 目录以及您正在使用的 Java 版本的 ./bin 目录。 -
原来我需要重新启动机器 :) 我推迟了这样做,因为我有一些大的下载。我最终咬紧牙关并重新启动 - 现在工作正常。现在还有很多其他问题要解决 phonegap :S