UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:产生EACCES Ionic 3

时间:2018-01-15 03:48:14

标签: android node.js cordova ionic3

我一直在研究这个问题很多时间,我无法解决它。当我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 

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

2 个答案:

答案 0 :(得分:14)

运行以下命令:

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

这应该可以解决问题。

答案 1 :(得分:0)

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

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