[ 
https://issues.apache.org/jira/browse/CB-13740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16361399#comment-16361399
 ] 

Leonard König commented on CB-13740:
------------------------------------

Also on Linux, the reason is that in cordova/src/cli.js line 398 it iterates 
over all platformChecks for a given platform, but these resolve to what's 
returned by cordova-lib/src/cordova/requirements.js which in turn uses the 
result of the requirements() method from the object returned by 
getPlatformApi(platform) in cordova-lib/src/platforms/platforms.js which then 
again, just basically requires the platforms Api.js file, so that the result of 
that requirements() method is actually what we want. For android we have this 
code there:

 
{code:java}
Api.prototype.requirements = function () {
  return require('./lib/check_reqs').run();
};
{code}
So in the end, we just have to check that file, and while we eg. have a 
sensible list in the android case, we just have an unresolved promise for the 
browser – which then gets propagated to our requirements check, thusly failing.

 

> CLI - "cordova requirements" throws error (UnhandledPromiseRejectionWarning)
> ----------------------------------------------------------------------------
>
>                 Key: CB-13740
>                 URL: https://issues.apache.org/jira/browse/CB-13740
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-browser, cordova-cli
>         Environment: Windows 10
> Node:              v7.5.0
> NPM:              4.1.2
> Cordova CLI:  8.0.0
> ---
> macOS High Sierra 10.13.1
> Node:             v9.3.0
> NPM:              5.6.0
> Cordova CLI:  8.0.0
>            Reporter: Sasha Kalmikov
>            Priority: Major
>
> When running "cordova requirements" following error thrown:
> *Windows*:
> {noformat}
> Requirements check results for browser:
> (node:5776) UnhandledPromiseRejectionWarning: Unhandled promise rejection 
> (rejection id: 1): TypeError: Cannot read property 'forEach' of undefined
> (node:5776) 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.
> {noformat}
> *macOS*:
> {noformat}
> Requirements check results for browser:
> (node:72094) UnhandledPromiseRejectionWarning: TypeError: Cannot read 
> property 'forEach' of undefined
>     at /usr/local/lib/node_modules/cordova/src/cli.js:397:35
>     at Array.map (<anonymous>)
>     at /usr/local/lib/node_modules/cordova/src/cli.js:388:68
>     at _fulfilled 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:787:54)
>     at self.promiseDispatch.done 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:816:30)
>     at Promise.promise.promiseDispatch 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:749:13)
>     at 
> /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:557:44
>     at flush 
> (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/node_modules/q/q.js:108:17)
>     at process._tickCallback (internal/process/next_tick.js:150:11)
>     at Function.Module.runMain (module.js:703:11)
> (node:72094) UnhandledPromiseRejectionWarning: Unhandled promise rejection. 
> This error originated either by throwing inside of an async function without 
> a catch block, or by rejecting a promise which was not handled with .catch(). 
> (rejection id: 1)
> (node:72094) [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.
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to