【问题标题】:UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: spawn EACCES Ionic 3UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):错误:产生 EACCES Ionic 3
【发布时间】:2018-01-15 03:48:13
【问题描述】:

我已经在这个问题上工作了很长时间,但我无法真正解决它。当我执行ionic Cordova build android 时,它运行良好,直到到达Cordova build android,任何人都知道这里发生了什么?

我知道如果权限有问题但我找不到我要更改的目录

KENRYMAC:RecipeBookApp Kenry$ ionic cordova build android
Running app-scripts build: --platform android --target cordova
[23:36:09]  build dev started ... 
[23:36:10]  clean started ... 
[23:36:10]  clean finished in 5 ms 
[23:36:10]  copy started ... 
[23:36:10]  deeplinks started ... 
[23:36:11]  deeplinks finished in 161 ms 
[23:36:11]  transpile started ... 
[23:36:51]  transpile finished in 40.73 s 
[23:36:51]  preprocess started ... 
[23:36:51]  preprocess finished in 1 ms 
[23:36:51]  webpack started ... 
[23:36:52]  copy finished in 42.36 s 
[23:37:20]  webpack finished in 28.48 s 
[23:37:20]  sass started ... 
Witout `from` option PostCSS could generate wrong source map or do not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning
[23:37:23]  sass finished in 2.94 s 
[23:37:23]  postprocess started ... 
[23:37:23]  postprocess finished in 17 ms 
[23:37:23]  lint started ... 
[23:37:23]  build dev finished in 73.84 s 
> cordova build android
ANDROID_HOME=/Users/Kenry/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
(node:4570) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: spawn EACCES
(node:4570) [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.

[23:37:31]  tslint: src/pages/signin/signin.ts, line: 4 
            'FormControl' is declared but never used. 

       L4:  import { FormControl, NgForm } from '@angular/forms';

[23:37:31]  tslint: src/pages/signup/signup.ts, line: 4 
            'FormControl' is declared but never used. 

       L4:  import { FormControl, NgForm } from '@angular/forms';

[23:37:31]  lint finished in 8.22 s 

拜托,谁能给我一些线索?谢谢

【问题讨论】:

  • 由于是cordova build 中的问题,您可以使用cordova build android --verbose查看详细日志
  • 此时没有调试。只需显示该消息

标签: android node.js cordova ionic3


【解决方案1】:

运行以下命令:

cordova build android --verbose

你可以得到这样的输出:

Running command: /usr/libexec/java_home
Command finished with error code 0: /usr/libexec/java_home
ANDROID_HOME=/Users/mj/phonegap/adt-bundle-mac-x86_64-20140321/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Running command: "/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle"
 -p /Users/mj/EduceMobile/app/platforms/android wrapper -b /Users/mj/EduceMobile/app/platfo
rms/android/wrapper.gradle

Error: spawn EACCES
    at exports._errnoException (util.js:1018:11)
    at ChildProcess.spawn (internal/child_process.js:319:11)
    at Object.exports.spawn (child_process.js:378:9)
    .....
    .....

注意这一行:

运行命令:“/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle"

这表明文件/Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle存在权限问题。

要解决此问题,请授予该文件适当的权限,使其可执行。

您可以运行以下命令:

sudo chmod +x /Applications/Android Studio.app/Contents/gradle/gradle-2.2.1/bin/gradle

这应该可以解决问题。

【讨论】:

  • 我这样做了,并将我的 android-version 更新到 22 API 级别。然后,它工作!谢谢!!
  • 这个修复了我在 Ubuntu 16.04 上的构建问题。谢谢!
【解决方案2】:

如果苹果推送服务证书未显示在钥匙串中

  1. 退出钥匙串访问
  2. 右键单击.cer 文件(例如aps_production.cer
  3. 选择Open With > Keychain access (default)

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-27
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多