J'ai remarqué que les builds sur notre CI ont commencé à échouer en raison de l'erreur suivante:
Discovered plugin "cordova-plugin-app-version" in config.xml. Adding it to the project
Installing "cordova-plugin-app-version" for Android
Adding cordova-plugin-app-version to package.json
Using "requireCordovaModule" to load non-cordova module "q" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
[ERROR] Exception:
The command '/bin/sh -c ionic cordova platforms add Android' returned a non-zero code: 1
Le même problème se produit sur iOS et Android.
Après quelques recherches, j'ai trouvé que cordova 9.0. a été récemment publié.
Il y a quelques changements liés à ce problème.
Ma première pensée a été que, d'une manière ou d'une autre, notre version cordova n'était pas verrouillée, mais nous l'avons verrouillée sur [email protected]
Dans notre dockerfile. Je l'ai également testé sur ma machine locale et j'ai également la version cordova 8.1.2
. Cela ne peut donc pas être le problème.
Après avoir regardé les journaux un peu plus, j'ai remarqué des journaux comme ceux-ci:
cordova-Android version check failed ("/app/platforms/Android/cordova/version"), continuing anyways.
Il y en avait quelques-uns, comme 3 ou 4, mais la construction ne s'est pas arrêtée lorsque cela s'est produit.
J'ai ensuite exécuté à nouveau la construction d'un ancien commit, et cela a bien fonctionné, probablement parce que certaines couches ont été mises en cache. Mais si je n'ai changé qu'un seul paquet (j'ai mis à jour plus joli pour l'essayer), cela a provoqué la reconstruction de la plupart des couches et la construction s'est écrasée avec l'erreur ci-dessus.
Il semble que certaines dépendances plus profondes aient été mises à jour, ce qui cause le problème.
Merci de votre aide.
J'ai eu le même problème. Voici comment j'ai résolu le mien:
cordova plugin | awk '{ print "cordova plugin rm " $1 " && cordova plugin add " $1 }' | sh
ionic cordova remove Android && ionic cordova add Android
C:\Windows\System32 à ma variable PATH pour résoudre ce problème étrange.
supprimer cordova-plugin-crosswalk-webview