remove - cordova-plugin-whitelist
Actualice los complementos de cordova en un comando (13)
Me pregunto si hay una manera más fácil de actualizar el complemento cordova.
Busqué en Google, encontré un gancho (@ año 2013), pero esto no es 100% lo que quiero.
Sé que puedo hacer esto en dos pasos: rm, luego agregar, pero estoy buscando una mejor manera (oficial) para ayudarme ¿qué complementos tienen una versión más nueva? y puedo actualizar TODOS en un solo comando. (al igual que: actualización npm)
por ejemplo:
$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */
$ cordova plugin update
/* update all of them for me */
Si no hay una forma oficial, ¿hay algún otro ayudante? ¿yo?
A mí también me ENCANTARÍA algo como esto: la administración de complementos con PhoneGap / Cordova CLI es muy molesta. Esta publicación de blog aquí puede ser el comienzo de algo como esto, pero no estoy muy seguro de A) cómo aprovecharlo todavía o B) qué tan bien funcionaría.
http://nocurve.com/cordova-update-all-plugins-in-project
Mi intento inicial de ejecutar todo el script directamente en la línea de comando del terminal creó una salida de texto con los comandos de agregar / quitar complementos ... pero en realidad no se ejecutaron, solo hicieron eco en el terminal. Me puse en contacto con el autor con la esperanza de que le expliquen un poco más.
Aquí hay un script bash que uso, funciona en OSX 10.11.3.
npm install -g cordova-plugin-update
Esto puede ayudar si hay conflictos, según
el comentario de shan
.
La diferencia es la adición de la bandera
--force
al eliminar.
cordova-plugin-update
Encontré otra respuesta de npmjs.org
https://www.npmjs.com/package/cordova-plugin-update
Básicamente está instalando la herramienta en su proyecto:
#!/bin/bash
PLUGINS=$(cordova plugin list | awk ''{print $1}'')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --save && cordova plugin add $PLUGIN --save
done
cuando hayas terminado, debes ejecutar el comando
#!/bin/bash
PLUGINS=$(cordova plugin list | awk ''{print $1}'')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --force --save && cordova plugin add $PLUGIN --save
done
y le pedirá que actualice si alguna vez hay una versión más nueva de un complemento disponible
Esta es mi versión de Windows Batch para actualizar todos los complementos en un solo comando
Cómo utilizar:
Desde la línea de comandos, en la misma carpeta del proyecto, ejecute
c:/> batchNameFile
o
c:/> batchNameFile autoupdate
Donde "batchNameFile" es el nombre del archivo .BAT, con el siguiente script.
Solo para prueba (primer ejemplo) o para forzar cada actualización disponible (segundo ejemplo)
@echo off
cls
set pluginListFile=update.plugin.list
if exist %pluginListFile% del %pluginListFile%
Echo "Reading installed Plugins"
Call cordova plugins > %pluginListFile%
echo.
for /F "tokens=1,2 delims= " %%a in ( %pluginListFile% ) do (
Echo "Checking online version for %%a"
for /F "delims=" %%I in ( ''npm info %%a version'' ) do (
Echo "Local : %%b"
Echo "Online: %%I"
if %%b LSS %%I Call :toUpdate %%a %~1
:cont
echo.
)
)
if exist %pluginListFile% del %pluginListFile%
Exit /B
:toUpdate
Echo "Need Update !"
if ''%~2'' == ''autoupdate'' Call :DoUpdate %~1
goto cont
:DoUpdate
Echo "Removing Plugin"
Call cordova plugin rm %~1
Echo "Adding Plugin"
Call cordova plugin add %~1
goto cont
Este lote solo se probó en Windows 10
La forma más fácil sería eliminar la carpeta de complementos.
Ejecute este comando:
cordova prepare
Pero, antes de ejecutarlo, puede verificar la versión de cada complemento que cree que funcionaría para su compilación en el
website
repositorio de complementos de Cordova, y luego debe modificar el archivo config.xml, manualmente.
Use zanahorias superiores, "^" en el campo de versión del archivo de lenguaje de modelado universal, "config", para indicar que desea que el complemento especificado se actualice a la última versión en el futuro (la próxima vez que ejecute el comando).
Me cansé de buscar actualizaciones de complementos manualmente, así que creé una herramienta para hacerlo por mí: https://github.com/dpa99c/cordova-check-plugins
Instalarlo globalmente:
$ npm install -g cordova-check-plugins
Luego, ejecute desde la raíz de su proyecto Cordova. Opcionalmente, puede actualizar complementos obsoletos de forma interactiva o automática, por ejemplo
$ cordova-check-plugins --update=auto
No necesita eliminar, solo agregue nuevamente.
cordova plugin add https://github.com/apache/cordova-plugin-camera
No puedes actualizarlo. Lo que puede hacer es desinstalar el complemento cordova y agregarlo nuevamente.
cordova plugin rm https://github.com/apache/cordova-plugin-camera --save
cordova plugin add https://github.com/apache/cordova-plugin-camera --save
no puede actualizar, pero escribí un archivo por lotes que elimina mis complementos y los instalo nuevamente, por lo que en este caso todos mis complementos se actualizan automáticamente, espero que esto resuelva su problema
@echo off
for %%a in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"
) do call cordova plugin rm %%a
for %%b in (
"com.ionic.keyboard"
"com.phonegap.plugins.PushPlugin"
"cordova-instagram-plugin"
"cordova-plugin-camera"
"cordova-plugin-crosswalk-webview"
"cordova-plugin-file"
"cordova-plugin-file-transfer"
) do call cordova plugin add %%b
npm update -f
funciona de mí
npm update -f
actualizará todos los complementos y cli
- [email protected]
- [email protected]
- [email protected]
- @ iónico-nativo / dispositivo @ 4.6.0
- @ iónico nativo / orientación de pantalla @ 4.6.0
- @ ionic-native / onesignal @ 4.6.0
- @ ionic-native / status-bar @ 4.6.0
- @ ionic-native / splash-screen @ 4.6.0
- @ iónico-nativo / núcleo @ 4.6.0
- @ ionic-native / social-sharing @ 4.6.0
- @ angular / cli @ 1.7.3
- [email protected] agregó 322 paquetes, eliminó 256 paquetes, actualizó 91 paquetes y movió 8 paquetes en 350.86s
el estado iónico está en desuso como en [email protected]
Si está utilizando iónico y el cli iónico, puede ejecutar:
ionic state reset
Siempre y cuando toda la información de su complemento se haya guardado en su package.json anteriormente, esto esencialmente realizará un rm / add para todos sus complementos. Solo tenga en cuenta que esto también rm / agregará sus plataformas, pero eso no debería importar.
Esto también es bueno cuando ignora las carpetas de complementos de su repositorio y desea configurar el proyecto en otra máquina.
Obviamente, esto no responde directamente a la pregunta, pero muchas personas están usando ambos y terminarán aquí.
cordova-check-plugins --update=auto --force
usa la línea de comando