在一个命令中更新cordova插件

我想知道是否有一个更简单的方法来更新cordova插件?

我GOOGLE了,发现一个钩子(@ 2013年),但这不是我想要的100%。

我知道我可以做到这一点两个步骤:RM,然后添加,但我正在寻找一个更好的(官方)的方式来帮助我哪些插件有更新的版本? 我可以用一个命令更新所有这些。 (就像:npm更新)

例如:

$ cordova plugin list /* list all installed plugins, their dependencies, and newer versions */ $ cordova plugin update /* update all of them for me */ 

如果没有官方的方式,还有其他的帮手吗? 哟?

我厌倦了手动检查插件更新,所以创build了一个工具,为我做到这一点: https : //github.com/dpa99c/cordova-check-plugins

全球安装:

 $ npm install -g cordova-check-plugins 

然后从您的Cordova项目的根目录运行。 您可以select性地交互或自动更新过时的插件,例如

 $ cordova-check-plugins --update=auto 

CLI截图

如果你碰巧使用离子和离子Cli,你可以运行:

 ionic state reset 

只要你所有的插件信息都保存在你的package.json中,就会为你的所有插件执行一个rm / add。 只要注意,这也将rm /添加您的平台,但这并不重要。

当你从你的仓库忽略你的插件文件夹,并希望在另一台机器上设置项目时,这也很好。

显然这并不直接回答这个问题,但是很多人目前都在使用这两个问题,最终会在这里结束。

你不能更新它。 你可以做的是卸载cordova插件并重新添加。

 cordova plugin rm https://github.com/apache/cordova-plugin-camera --save cordova plugin add https://github.com/apache/cordova-plugin-camera --save 

这里是我使用的bash脚本,适用于OSX 10.11.3。

 #!/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 

这是我的Windows批处理版本,用于更新一个命令中的所有插件

如何使用:

从命令行,在项目的同一个文件夹中运行

 c:\> batchNameFile 

要么

 c:\> batchNameFile autoupdate 

其中“batchNameFile”是.BAT文件的名称,下面的脚本。

仅用于testing(第一例)或强制每个更新可用(第二例)

 @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 

该批次仅在Windows 10中进行了testing

我也喜欢这样的东西 – 与PhoneGap / Cordova CLI插件pipe理是如此烦人。 这个博客文章可能是这样的开始 – 但我不太确定A)如何利用它还是B)它将如何工作。

http://nocurve.com/cordova-update-all-plugins-in-project

我最初尝试在terminal命令行中运行整个脚本,确实创build了带有添加/删除插件命令的文本输出…但是实际上并没有执行它们,只是回显到terminal。 我已经和作者联系了,希望他们能多解释一下。

你不能更新,但我写了一个batch file,删除我的插件,并再次安装,所以在这种情况下,我所有的插件会自动更新,希望这可以解决您的问题

 @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 
 cordova-check-plugins --update=auto --force 

使用命令行

你不需要删除,只需再次添加。

 cordova plugin add https://github.com/apache/cordova-plugin-camera