web-dev-qa-db-fra.com

Cordova 8 + iOS 4.5.4 = impossible de trouver le module "../cordova/platform_metadata"

Depuis la dernière mise à jour de Cordova en v8, je ne peux plus rien construire sur Mac . 

(node 626) UnhandledPromiseRejectionWarning: Error: Cannot find module '../cordova/platform_metadata'

J'ai essayé ce qui était suggéré dans this post mais je reçois la même erreur.

J'ai ensuite fait un commentaire et il semble que le plug-in requis pour compiler pour iOS ne fonctionne pas bien

Executing script found in plugin cordova-plugin-Swift-support for hook "after_prepare": plugins/cordova-plugin-Swift-support/src/add-Swift-support.js
Resolving module name for cordova-lib/src/cordova/platform_metadata => ../cordova/platform_metadata
(node:599) UnhandledPromiseRejectionWarning: Unhandled promise rejection 
(rejection id: 1): Error: Cannot find module '../cordova/platform_metadata'
(node:599) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.
6
Eric

C'était un bug dans cordova-plugin-add-Swift-support, il suffit de le mettre à jour avec la dernière version (1.7.1)

cordova plugin rm cordova-plugin-add-Swift-support
cordova plugin add cordova-plugin-add-Swift-support
19
jcesarmobile

vous devez rétrograder cordova 7.1.0 jusqu'à ce que ce problème soit résolu. Faire ceci:

 npm uninstall -g cordova
 npm install -g [email protected]

 cordova platform remove ios
 cordova platform add ios
10
Ajay Reddy

Si vous exécutez un projet ionique nécessitant le plug-in Swift, vous devez ajouter le drapeau --force:

ionic cordova plugin rm cordova-plugin-add-Swift-support --force

Puis lancez:

ionic cordova plugin add cordova-plugin-add-Swift-support
2
Max Knox

Cela m'est juste arrivé (avec ionique). Dans Ionic, le problème provient d'un plugin ou d'un node_module qui utilise toujours cordova/platform_metadata, qui est obsolète.

Si vous utilisez Linux, dans votre répertoire de projet, essayez ceci dans la commande Shell:

grep -iRn 'platform_metadata'

Dans mon cas, c’était le plugin cordova-plugin-add-Swift-support qui l’utilisait encore, et je n’utilisais même pas ce plugin dans mon projet; Problème résolu. Le problème semble se poser lorsqu'un plugin appelle un module qui n'existe plus. Vous devez donc supprimer ce plugin ou le mettre à jour. 

1
Roddy P. Carbonell

Avec Ionic 3 et Cordova 8.0.0 project . Voici les étapes

  1. plate-forme ionique cordova retirer ios
  2. plugin ionique cordova rm cordova-plugin-add-Swift-support
  3. ionic cordova plugin ajoute le support cordova-plugin-add-Swift-
  4. plate-forme ionique cordova add ios
1
HuyLe

J'ai rencontré le même problème, puis j'ai mis à niveau Cordova en version 7.1.0 pour moi

0
Arvind Mehta

De mon projet ionique j'ai fait (bash):

grep -r 'platform_metadata' .

et a constaté que j'avais un plugin appelé cordova-plugin-Swift-support était le coupable. Je l'ai enlevé, puis j'ai ajouté cordova-plugin-add-Swift-support, et tout a bien fonctionné avec cordova 8.0.0. 

0
Stan Swiniarski