web-dev-qa-db-fra.com

Erreur Cordova: l'utilisation de "requireCordovaModule" pour charger le module non-cordova "q" n'est pas prise en charge

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.

  • GH-710 Supprimez la dépendance Q et utilisez les promesses natives
  • GH-707 Deprecate requireCordovaModule pour les modules non Cordova

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.

62
Andreas Gassmann

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
0
Khairulnizam Hasan

C:\Windows\System32 à ma variable PATH pour résoudre ce problème étrange.

0
Supriya

supprimer cordova-plugin-crosswalk-webview

0
Iheb Miled