Mettre à jour les plugins cordova en une seule commande
je me demande s'il y a un moyen plus simple de mettre à jour le plugin cordova?
j'ai googlé, trouvé un crochet (@ year 2013), mais ce n'est pas 100% ce que je veux.
je sais que je peux le faire en deux étapes: rm, puis ajouter mais je cherche une meilleure façon (officielle) de m'aider quels plugins ont une version plus récente? et je peux les mettre à jour en une seule commande. (comme: mnp mise à jour)
par exemple:
$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */
$ cordova plugin update
/* update all of them for me */
si il n'y a pas de manière officielle, est-il un autre helper? yo?
12 réponses
j'en ai eu marre de vérifier manuellement les mises à jour du plugin, donc j'ai créé un outil pour le faire pour moi: https://github.com/dpa99c/cordova-check-plugins
Installer dans le monde:
$ npm install -g cordova-check-plugins
alors exécutez à partir de la racine de votre projet Cordova. Vous pouvez, en option, Mettre à jour des plugins obsolètes de manière interactive ou automatique, par exemple
$ cordova-check-plugins --update=auto
l'état ionique est déprécié ionic@3.7.0
Si vous arrive d'être en utilisant ionique et l'ionique de la cli, vous pouvez lancer:
ionic state reset
aussi longtemps que toutes les informations de votre plugin ont été sauvegardées dans votre paquet.JSON earlier, cela va essentiellement effectuer un rm / add pour tous vos plugins. Notez juste que cela va aussi rm/add vos plates-formes, mais cela ne devrait pas avoir d'importance.
c'est aussi bien pour quand vous ignorez vos dossiers de plugin de votre repo, et vous voulez configurer le projet sur une autre machine.
évidemment, cela ne répond pas directement à la question, mais beaucoup de gens utilisent actuellement les deux, et se terminera ici.
vous ne pouvez pas le mettre à jour. Ce que vous pouvez faire est de désinstaller le plugin cordova et l'ajouter à nouveau.
cordova plugin rm https://github.com/apache/cordova-plugin-camera --save
cordova plugin add https://github.com/apache/cordova-plugin-camera --save
voici un script bash que j'utilise, fonctionne sur OSX 10.11.3.
#!/bin/bash
PLUGINS=$(cordova plugin list | awk '{print }')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --save && cordova plugin add $PLUGIN --save
done
Cela peut aider si il y a des conflits, par shan commentaire . La différence est l'ajout du drapeau --force
lors de l'enlèvement.
#!/bin/bash
PLUGINS=$(cordova plugin list | awk '{print }')
for PLUGIN in $PLUGINS; do
cordova plugin rm $PLUGIN --force --save && cordova plugin add $PLUGIN --save
done
trouvé une autre réponse de la npmjs.org
https://www.npmjs.com/package/cordova-plugin-update
essentiellement son installation de l'outil dans votre projet:
npm install -g cordova-plugin-update
ensuite, vous devez exécuter la commande
cordova-plugin-update
et il vous invitera à mettre à jour si jamais une nouvelle version d'un plugin est disponible""
C'est ma version Windows Batch pour mettre à jour tous les plugins en une seule commande ""
comment utiliser:
depuis la ligne de commande, dans le même dossier de projet, Lancez
c:\> batchNameFile
ou
c:\> batchNameFile autoupdate
où "batchNameFile" est le nom de .BAT file, avec le script ci-dessous.
Pour seul test ( premier exemple ) ou de force à chaque mise à jour disponible ( 2ème exemple )
@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
ce lot a été testé uniquement sous Windows 10
j'aimerais aussi quelque chose comme ceci - gestion de plugin avec le PhoneGap/Cordova CLI est tellement ennuyeux. Ce billet de blog ici peut être un début à quelque chose comme cela - mais je ne suis pas tout à fait sûr A) comment tirer parti encore ou B) comment il fonctionnerait.
http://nocurve.com/cordova-update-all-plugins-in-project
ma première tentative d'exécuter le script entier dans la ligne de commande du terminal a créé une sortie du texte avec les commandes add/remove plugin ... mais ils n'ont pas réellement exécuté ils ont juste fait écho dans le terminal. J'ai contacté l'auteur en espérant qu'ils m'expliqueront un peu plus.
vous ne pouvez pas mettre à jour ,mais j'ai écrit un fichier batch qui supprime mes plugins et installe à nouveau donc dans ce cas, tous mes plugins sont mis à jour automatiquement, espérons que cela résout votre problème""
@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
Le plus simple serait de supprimer le dossier plugins. Exécutez cette commande:
cordova prepare
Mais, avant de l'exécuter , vous pouvez vérifier la version de chaque plugin qui, selon vous, pourrait fonctionner pour votre construction sur le référentiel de plugin de Cordova site , puis vous devez modifier la configuration.fichier xml à la main. Utilisez les carottes supérieures, " ^ "dans le champ de version du fichier universel de langage de modélisation, "config" , pour indiquer que vous voulez que le plugin spécifié soit mis à jour au plus tard version dans le futur (la prochaine fois que vous exécutez la commande.)
npm update -f
sa forme de travail me
mise à jour du npm-f
il mettra à jour tous les plugins et cli
- cordova-sqlite-storage@2.3.0
- cordova-plugin-x-socialsharing@5.3.2
- onesignal-cordova-plugin@2.3.3
- @ionic-native/device@4.6.0
- @ionic-native/screen-orientation@4.6.0
- "ionic-native/onesignal@4.6.0
- @ionic-native/status-bar@4.6.0
- @ionic-native/splash-screen@4.6.0
- @ionic-native/core@4.6.0
- @ionic-native/social-sharing@4.6.0
- @angular/cli@1.7.3
- cordova-plugin-splashscreen@5.0.3-dev ajout de 322 paquets, suppression de 256 paquets, mise à jour de 91 paquets et déplacement de 8 paquets en 350.86 s
cordova-check-plugins --update=auto --force
utilisez la ligne de commande
vous n'avez pas besoin de supprimer, il suffit d'ajouter à nouveau.
cordova plugin add https://github.com/apache/cordova-plugin-camera