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?

98
demandé sur Santino Wang 2015-02-28 19:24:30

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

CLI screenshot

182
répondu DaveAlden 2016-07-16 11:59:24

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.

49
répondu Matt Way 2017-12-30 11:35:47

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
48
répondu Mohammad Nurdin 2016-12-03 10:04:18

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
20
répondu nick.graziano 2018-01-20 02:33:47

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

13
répondu Flash 2018-03-15 16:44:43

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

7
répondu Marco Scarnatto 2016-04-16 21:44:06

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.

3
répondu Chris Emerson 2015-08-16 12:48:55

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
2
répondu Pranay Dutta 2015-08-31 17:14:20

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.)

1
répondu Solumyr 2018-01-26 01:05:53

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
1
répondu M Ibrahim Hayat 2018-03-24 00:12:49
cordova-check-plugins --update=auto --force

utilisez la ligne de commande

-2
répondu Dhanasekaran 2017-09-22 07:04:21

vous n'avez pas besoin de supprimer, il suffit d'ajouter à nouveau.

cordova plugin add https://github.com/apache/cordova-plugin-camera
-8
répondu Daniel Faria 2015-12-04 18:45:17