De alguna manera, en mi aplicación, muchos de los complementos de cordova están instalados y por eso requiere acceso a casi todo, desde mis contactos hasta la ubicación actual (aunque esta aplicación no lo necesita).
Esta aplicación se compila a través de jenkins y, según tengo entendido, una solución es eliminar todos los complementos con un solo comando, por lo que será como:
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
Pero a veces muestra algunos errores y con jenkins cualquier error termina con una falla de compilación, entonces, ¿hay algún comando que elimine todos los complementos? (durante la instalación, los complementos básicos que requieren que cualquier aplicación funcione se agregan automáticamente a través de cordova, por lo que estaba buscando algunos cordova plugin rm -all
pero no pude encontrarlos)
Respuestas:
Primero, debe enumerar sus complementos:
Con este resultado, simplemente puede hacer:
Por ejemplo:
Espero eso ayude.
fuente
cordova plugin remove <PLUGIN_NAME> --save
para que se elimine automáticamente de config.xmlTambién puede hacerlo con bash (después de cambiar al directorio de su proyecto Cordova):
fuente
Podrías usar:
cordova plugins list | awk '{print $1}' | xargs cordova plugins rm
y utilícelo
cordova plugins list
para verificar si se han eliminado todos los complementos.fuente
Error: Plugin "{}" is not present in the project. See `cordova plugin list`
cordova plugins ls
y luego vea si puede eliminar los complementos uno por uno usandocordova plugins rm plugin_name
. Por el error, parece que uno de los complementos no está físicamente presente en su proyecto. Con este método puedes encontrar ese complemento.La versión 2.0.0 de cordova-check-plugins le permite eliminar todos los complementos de un proyecto:
Intentará usar la CLI de Cordova para eliminar cada complemento, pero si esto falla, forzará la eliminación del complemento de
platforms/
yplugins/
.Si también desea eliminar de config.xml, use:
Descargo de responsabilidad: soy el autor de cordova-check-plugins
fuente
C:\Users\yourusername\AppData\Roaming\npm
si está ejecutando en Windows o/usr/local
en el kernel de UNIX. Puede averiguar cuál es su prefijo escribiendo terminal / comandonpm config get prefix
Desde la terminal (osx) suelo usar
Pipe, pipe todo!
Para expandir un poco: este comando recorrerá los resultados de
cordova plugin -l
y lo enviará acordova plugins rm
.xargs es uno de esos comandos que te preguntas por qué no conocías antes. Mira este tut.
fuente
Lo hago con esta python one-liner:
Obviamente, no maneja ningún tipo de condiciones de error, pero hace el trabajo.
fuente
Por lo que recuerdo de Cordova, debería tener un archivo xml en la carpeta "res" que contiene la lista de complementos utilizados en su proyecto. Probablemente necesite eliminar esos complementos no utilizados de la lista. Y también debes eliminar los archivos relacionados.
fuente
fuente
Esta es la línea de comandos para eliminar complementos en Cordova
cordova plugin remove <pluginid>
Por ejemplo, ejecuté
cordova plugin
y obtuve una lista de complementos, luego usé la identificación del complemento para desinstalarcordova plugin remove com.monday.contact-chooser
Puede obtener ayuda en la línea de comandos escribiendo
cordova help <command>
fuente
cordova plugin list
.Es posible que los scripts basados en el procesamiento de la lista de complementos instalados no funcionen ya que existen dependencias entre los complementos instalados (p. Ej., Cordova-plugin-file y cordova-plugin-file-transfer).
En el ejemplo, la secuencia de comandos encontrará primero el complemento de archivo, luego intentará eliminarlo y obtendremos un error ya que la transferencia de archivos lo requiere. Por lo tanto, tendremos
fuente
--force
, que eliminaría el complemento independientemente ...Cuando ejecute el comando:,
cordova plugin remove <PLUGIN NAME>
asegúrese de no agregar el número de versión al nombre del complemento. Solo el nombre del complemento, por ejemplo:y no:
o
En caso de que haya un problema de privilegios, ejecute sudo si está en un sistema * nix, por ejemplo:
Luego, puede agregar --save para eliminarlo del archivo config.xml. Por ejemplo:
fuente
¡Debería estar bien!
fuente
Si la solución anterior no funcionó y obtuvo un rechazo de promesa no controlado, intente seguir los pasos:
Proyecto Clean the Cordova
Córdoba limpia
plataforma cordova eliminar android / ios
eliminar plugin cordova
fuente