web-dev-qa-db-fra.com

Supprimer les plugins cordova du projet

En quelque sorte, dans mon application, de nombreux plug-ins cordova sont installés et, à cause de cela, il nécessite un accès à presque tout, des contacts à l'emplacement actuel (même si cette application n'en a pas besoin). 

Cette application est construite via jenkins et, autant que je sache, une solution consiste à supprimer tous les plugins avec une seule commande, donc ce sera comme:

cordova plugin rm org.Apache.cordova.battery-status
cordova plugin rm org.Apache.cordova.camera
cordova plugin rm org.Apache.cordova.contacts
cordova plugin rm org.Apache.cordova.geolocation
cordova plugin rm org.Apache.cordova.media
cordova plugin rm org.Apache.cordova.media-capture
cordova plugin rm org.Apache.cordova.splashscreen
cordova plugin rm org.Apache.cordova.vibration

Mais parfois, il montre des erreurs et avec Jenkins, toute erreur aboutit à un échec de la construction, existe-t-il une commande qui supprime tous les plugins? (lors de l'installation, les plugins nécessitant le fonctionnement de n'importe quelle application sont ajoutés automatiquement via cordova, donc je cherchais du cordova plugin rm -all mais je ne pouvais pas le trouver)

86
mmmm

Tout d’abord, vous devriez lister vos plugins:

cordova plugin list

Avec ce résultat, vous pouvez simplement faire:

cordova plugin remove <PLUGIN_NAME>

Par exemple:

cordova plugin remove org.Apache.cordova.media

J'espère que ça aide.

206
ruhanbidart

Vous pouvez également le faire avec bash (après avoir accédé au répertoire de votre projet Cordova):

for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done
14
JVE999

Depuis le terminal (osx) que j'utilise habituellement

cordova plugin -l | xargs cordova plugins rm

Pipe, pipe tout!

Pour développer un bit: cette commande parcourt les résultats de cordova plugin -l et le transmet à cordova plugins rm.

xargs est l'une de ces commandes pour lesquelles vous vous demandez pourquoi vous ne le connaissiez pas auparavant. Voir cette tut.

9
kuzyn

Vous pouvez utiliser: cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

et utilisez cordova plugins list pour vérifier si les plugins sont tous supprimés.

9
Hamid

la v2.0.0 de cordova-check-plugins vous permet de supprimer tous les plugins d'un projet:

$ npm install -g cordova-check-plugins
$ cordova-check-plugins --remove-all

Il essaiera d’utiliser la CLI Cordova pour supprimer chaque plug-in, mais en cas d'échec, il supprimera le plug-in de platforms/ et plugins/.

Si vous souhaitez également supprimer de config.xml, utilisez:

$ cordova-check-plugins --remove-all --save

Disclaimer: Je suis l'auteur de cordova-check-plugins

8
DaveAlden

Je le fais avec ce one-liner en python:

python -c "import subprocess as sp;[sp.call('cordova plugin rm ' + p.split()[0], Shell=True) for p in sp.check_output('cordova plugin', Shell=True).split('\n') if p]"

De toute évidence, il ne gère aucune sorte d'erreur, mais le travail est fait.

4
Matthew Purdon

Ceci est la ligne de commande pour supprimer les plugins dans Cordova

cordova plugin remove <pluginid>

Par exemple, j'ai exécuté cordova plugin et obtenu une liste de plugins, puis j'ai utilisé l'identifiant du plugin à désinstaller

cordova plugin remove com.monday.contact-chooser

Vous pouvez obtenir de l'aide dans la ligne de commande en tapant

cordova help <command>

1
Jack Shultz

Pour autant que je me souvienne de Cordova, vous devriez avoir un fichier XML dans le dossier "res" contenant la liste des plugins utilisés dans votre projet. Vous devrez probablement supprimer ces plugins inutilisés de la liste. Et aussi, vous devriez supprimer les fichiers associés.

1
osayilgan

Les scripts basés sur le traitement de la liste des plugins installés risquent de ne pas fonctionner, car il existe des dépendances entre les plugins installés (par exemple, cordova-plugin-file et cordova-plugin-file-transfer).

Dans l'exemple, le script trouvera d'abord le plug-in de fichier, puis essaiera de le supprimer et nous obtiendrons une erreur car le transfert de fichier le requiert. Par conséquent, nous aurons 

1
Nacho Marín

Lorsque vous exécutez la commande: cordova plugin remove <PLUGIN NAME>, veillez à ne pas ajouter le numéro de version au nom du plug-in. Tout simplement le nom du plugin, par exemple: 

cordova plugin remove cordova.plugin_name 

et pas: 

cordova plugin remove cordova.plugin_name 0.01 

ou 

cordova plugin remove "cordova.plugin_name 0.01"

En cas de problème de privilège, exécutez-le avec Sudo si vous êtes sur un système * nix, par exemple: 

Sudo cordova plugin remove cordova.plugin_name

Ensuite, vous pouvez ajouter --save pour le supprimer du fichier config.xml. Par exemple: 

cordova plugin remove cordova.plugin_name --save
0
franc

Si la solution ci-dessus ne fonctionne pas et que vous recevez un rejet de promesse non géré, essayez de suivre les étapes suivantes:

  1. Nettoyez le projet Cordova

    cordova propre

    1. Retirer la plateforme

plate-forme cordova supprimer Android/iOS

  1. Puis supprimer le plugin

cordova plugin supprimer 

  1. ajoutez des plates-formes et exécutez le projet Il a fonctionné pour moi.
0
rahul.sapkal23
cordova platform rm Android

cordova plugin rm cordova-plugin-firebase

cordova platform add Android
0
user9972736
  • accéder au dossier
  • lister les plugins (liste des plugins cordova)
  • ionic cordova plugin supprimer "pluginName"

Ça devrait aller!

0
Mekkush