it-swarm.com.de

Entfernen von Cordova-Plugins aus dem Projekt

Irgendwie sind in meiner App viele der Cordova-Plugins installiert, weshalb auf fast alles zugegriffen werden muss - von meinen Kontakten bis zum aktuellen Standort (obwohl diese App dies nicht benötigt). 

Diese App wird über Jenkins erstellt. Soweit ich weiß, besteht eine Lösung darin, jedes Plugin mit einem einzigen Befehl zu entfernen. Es wird also so aussehen:

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

Aber manchmal zeigt es einige Fehler und bei Jenkins endet ein Fehler mit dem Build-Fehler. Gibt es einen Befehl, der alle Plugins löscht? (Während der Installationsgrundlagen werden Plugins, für die eine App erforderlich ist, automatisch über Cordova hinzugefügt. Daher habe ich nach cordova plugin rm -all gesucht, konnte sie aber nicht finden.)

86
mmmm

Zuerst sollten Sie Ihre Plugins auflisten:

cordova plugin list

Mit diesem Ergebnis können Sie einfach Folgendes tun:

cordova plugin remove <PLUGIN_NAME>

Zum Beispiel:

cordova plugin remove org.Apache.cordova.media

Ich hoffe es hilft.

206
ruhanbidart

Sie können dies auch mit bash tun (nachdem Sie in Ihr Cordova-Projektverzeichnis gewechselt sind):

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

Vom Terminal (osx) benutze ich normalerweise

cordova plugin -l | xargs cordova plugins rm

Pfeife, Pfeife alles!

Um ein wenig zu erweitern: Dieser Befehl wird die Ergebnisse von cordova plugin -l durchlaufen und an cordova plugins rm weiterleiten.

xargs ist einer dieser Befehle, bei denen Sie sich fragen, warum Sie zuvor nichts davon wussten. Siehe dieses Tut.

9
kuzyn

Sie könnten Folgendes verwenden: cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

und cordova plugins list verwenden, um zu überprüfen, ob alle Plugins entfernt wurden.

9
Hamid

mit v2.0.0 von cordova-check-plugins können Sie alle Plugins in einem Projekt entfernen:

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

Es wird versucht, die Cordova-CLI zu verwenden, um jedes Plugin zu entfernen, aber wenn dies fehlschlägt, wird das Plugin von platforms/ und plugins/ entfernt.

Wenn Sie auch aus config.xml entfernen möchten, verwenden Sie:

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

Haftungsausschluss: Ich bin der Autor von Cordova-Check-Plugins

8
DaveAlden

Ich mache es mit diesem Python-Einzeiler:

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]"

Offensichtlich werden keine Fehlerbedingungen behandelt, aber die Arbeit wird erledigt.

4
Matthew Purdon

Dies ist die Befehlszeile zum Entfernen von Plugins in Cordova

cordova plugin remove <pluginid>

Zum Beispiel lief ich cordova plugin und bekam eine Liste von Plugins. Dann benutzte ich die ID, um das Plugin zu deinstallieren

cordova plugin remove com.monday.contact-chooser

Sie können Hilfe in der Befehlszeile erhalten, indem Sie eingeben

cordova help <command>

1
Jack Shultz

Soweit ich mich an Cordova erinnere, sollten Sie eine XML-Datei im Ordner "res" haben, die die Liste der in Ihrem Projekt verwendeten Plugins enthält. Möglicherweise müssen Sie diese nicht verwendeten Plugins aus der Liste entfernen. Außerdem sollten Sie verwandte Dateien entfernen.

1
osayilgan

Skripts, die auf der Verarbeitung der Liste installierter Plugins basieren, funktionieren möglicherweise nicht, da zwischen installierten Plugins Abhängigkeiten bestehen (z. B. Cordova-Plugin-Datei und Cordova-Plugin-Dateiübertragung).

Im Beispiel wird das Skript das Datei-Plugin zuerst finden, dann versuchen, es zu entfernen, und es wird ein Fehler angezeigt, da die Dateiübertragung dies erfordert. Deshalb werden wir haben 

1
Nacho Marín

Stellen Sie beim Ausführen des Befehls: cordova plugin remove <PLUGIN NAME> sicher, dass Sie die Versionsnummer nicht zum Plugin-Namen hinzufügen. Nur einfacher Plugin-Name, zum Beispiel: 

cordova plugin remove cordova.plugin_name 

und nicht: 

cordova plugin remove cordova.plugin_name 0.01 

oder 

cordova plugin remove "cordova.plugin_name 0.01"

Falls ein Privileg-Problem vorliegt, führen Sie Sudo aus, wenn Sie sich auf einem * nix-System befinden. Beispiel: 

Sudo cordova plugin remove cordova.plugin_name

Dann können Sie --save hinzufügen, um es aus der Datei config.xml zu entfernen. Zum Beispiel: 

cordova plugin remove cordova.plugin_name --save
0
franc

Wenn die oben genannte Lösung nicht funktioniert hat und Sie eine unhandliche Ablehnung des Versprechens erhalten haben, führen Sie die folgenden Schritte aus:

  1. Reinigen Sie das Cordova-Projekt

    cordova sauber

    1. Plattform entfernen

cordova-Plattform entfernen Android/iOS

  1. Dann entfernen Sie das Plugin

cordova-Plugin entfernen 

  1. füge Plattformen hinzu und führe das Projekt ausEs funktionierte für mich.
0
rahul.sapkal23
cordova platform rm Android

cordova plugin rm cordova-plugin-firebase

cordova platform add Android
0
user9972736
  • zugriff auf den Ordner
  • auflisten der Plugins (Cordova-Plugin-Liste)
  • ionisches Cordova-Plugin "pluginName" entfernen

Sollte gut sein!

0
Mekkush