在一个命令中更新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,你可以运行:
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
- jQuery Mobile:标记增强dynamic添加的内容
- 如何在Chrome浏览器中启动deviceready事件(尝试debuggingphonegap项目)
- PhoneGap的Eclipse问题 – eglCodecCommon glUtilsParamSize:未知的参数错误
- iOS 7状态栏与Phonegap
- 是否有可能在没有Mac的情况下为iOS创buildPhoneGap应用程序?
- 有没有一个真正的解决scheme来debuggingcordova应用程序
- 更新到Xcode 5 – ID:符号(S)未find架构armv7或armv7s链接器错误
- 与Android相比,Phonegap或HTML5的限制和缺点是什么?
- 尝试构buildCordova应用程序(event.js:85)时获取“spawn cmd ENOENT”