Irgendwie sind in meiner App viele der Cordova-Plugins installiert und aus diesem Grund ist Zugriff auf fast alles erforderlich - 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.
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 jeder Fehler mit einem Build-Fehler. Gibt es also 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 einigen gesucht cordova plugin rm -all
, diese aber nicht gefunden.)
Antworten:
Zuerst sollten Sie Ihre Plugins auflisten:
Mit diesem Ergebnis können Sie einfach Folgendes tun:
Beispielsweise:
Ich hoffe es hilft.
quelle
cordova plugin remove <PLUGIN_NAME> --save
damit es automatisch aus config.xml entfernt wirdSie können dies auch mit bash tun (nachdem Sie in Ihr Cordova-Projektverzeichnis gewechselt haben):
quelle
Du könntest benutzen:
cordova plugins list | awk '{print $1}' | xargs cordova plugins rm
und verwenden Sie
cordova plugins list
, um zu überprüfen, ob alle Plugins entfernt wurden.quelle
Error: Plugin "{}" is not present in the project. See `cordova plugin list`
cordova plugins ls
und prüfen Sie dann, ob Sie Plugins einzeln mit entfernen könnencordova plugins rm plugin_name
. Aufgrund des Fehlers sieht es so aus, als ob eines der Plugins in Ihrem Projekt nicht physisch vorhanden ist. Mit dieser Methode können Sie das Plugin finden.Mit v2.0.0 der Cordova-Check-Plugins können Sie alle Plugins in einem Projekt entfernen:
Es wird versucht, die Cordova-CLI zum Entfernen jedes Plugins zu verwenden. Wenn dies jedoch fehlschlägt, wird das Entfernen des Plugins von
platforms/
und erzwungenplugins/
.Wenn Sie auch aus config.xml entfernen möchten, verwenden Sie:
Haftungsausschluss: Ich bin Autor von Cordova-Check-Plugins
quelle
C:\Users\yourusername\AppData\Roaming\npm
wenn Sie unter Windows oder/usr/local
UNIX-Kernel laufen . Sie können herausfinden, was Ihr Präfix ist, indem Sie terminal / commandnpm config get prefix
Vom Terminal (osx) benutze ich normalerweise
Pfeife, pfeife alles!
Um ein bisschen zu erweitern: Dieser Befehl durchläuft die Ergebnisse von
cordova plugin -l
und führt sie ancordova plugins rm
.xargs ist einer dieser Befehle, von denen Sie sich fragen, warum Sie vorher nichts wussten. Siehe dieses Tut.
quelle
Ich mache es mit diesem Python-Einzeiler:
Offensichtlich werden keine Fehlerbedingungen behandelt, aber die Aufgabe wird erledigt.
quelle
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. Sie müssen diese nicht verwendeten Plugins wahrscheinlich aus der Liste entfernen. Außerdem sollten Sie verwandte Dateien entfernen.
quelle
quelle
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 habe ich die ID für das Plugin zum Deinstallieren verwendetcordova plugin remove com.monday.contact-chooser
Sie können Hilfe in der Befehlszeile erhalten, indem Sie eingeben
cordova help <command>
quelle
cordova plugin list
.Skripte, die auf der Verarbeitung der Liste der installierten Plugins basieren, funktionieren möglicherweise nicht, da Abhängigkeiten zwischen den installierten Plugins bestehen (z. B. Cordova-Plugin-Datei und Cordova-Plugin-Dateiübertragung).
In diesem Beispiel findet das Skript zuerst das Datei-Plugin, versucht dann, es zu entfernen, und es wird eine Fehlermeldung angezeigt, da die Dateiübertragung dies erfordert. Deshalb werden wir haben
quelle
--force
, die das Plugin unabhängig davon entfernen würde ...Stellen Sie beim Ausführen des Befehls:
cordova plugin remove <PLUGIN NAME>
sicher, dass Sie die Versionsnummer nicht zum Namen des Plugins hinzufügen. Einfach nur der Name des Plugins, zum Beispiel:und nicht:
oder
Wenn es ein Berechtigungsproblem gibt, führen Sie es mit sudo aus, wenn Sie sich auf einem * nix-System befinden, zum Beispiel:
Anschließend können Sie --save hinzufügen , um es aus der Datei config.xml zu entfernen. Beispielsweise:
quelle
Sollte gut sein!
quelle
Wenn die oben genannte Lösung nicht funktioniert hat und Sie eine unbehandelte Ablehnung von Versprechungen erhalten haben, versuchen Sie, die folgenden Schritte auszuführen:
Reinigen Sie das Cordova-Projekt
Cordova sauber
Cordova Plattform entfernen Android / iOS
Cordova Plugin entfernen
quelle