我想知道有更简单的方法来更新cordova插件吗?
我用谷歌搜索,找到了一个钩子(@ 2013年),但这不是我想要的100%。
我知道我可以通过两个步骤完成此操作:rm,然后添加 但我正在寻找一种更好的(官方)方式来帮助我哪些插件有更新的版本?我可以在一个命令中更新所有这些。 (就像:npm update)
例如:
$ cordova plugin list
/* list all installed plugins, their dependencies, and newer versions */
$ cordova plugin update
/* update all of them for me */
如果没有官方方式,还有其他帮手吗?哟?
答案 0 :(得分:201)
我厌倦了手动检查插件更新,因此创建了一个工具来为我完成:https://github.com/dpa99c/cordova-check-plugins
全局安装:
$ npm install -g cordova-check-plugins
然后从Cordova项目的根目录运行。您可以选择以交互方式或自动方式更新过时的插件,例如
$ cordova-check-plugins --update=auto
答案 1 :(得分:54)
您无法更新。您可以做的是卸载cordova插件并重新添加。
cordova plugin rm https://github.com/apache/cordova-plugin-camera --save
cordova plugin add https://github.com/apache/cordova-plugin-camera --save
答案 2 :(得分:50)
离子状态已弃用,如ionic@3.7.0
如果您碰巧使用离子和离子cli,您可以运行:
ionic state reset
只要您的所有插件信息都保存在package.json中,这实际上将为您的所有插件执行rm / add。请注意,这也将同时添加/添加您的平台,但这无关紧要。
当你从你的仓库中忽略你的插件文件夹,并想在另一台机器上设置项目时,这也很好。
显然这并没有直接回答这个问题,但很多人目前都在使用这两个问题,并且最终会在这里结束。
答案 3 :(得分:24)
这是我使用的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
如果存在冲突,这可能会有所帮助shan's comment。不同之处在于删除时添加--force
标志。
#!/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
答案 4 :(得分:22)
从npmjs.org
中找到另一个答案https://www.npmjs.com/package/cordova-plugin-update
基本上它将工具安装到您的项目中:
npm install -g cordova-plugin-update
完成后,您必须运行命令
cordova-plugin-update
如果有更新版本的插件,它会提示您更新
答案 5 :(得分:7)
这是我的Windows Batch版本,用于在一个命令中更新所有插件
使用方法:
从命令行,在项目的同一文件夹中,运行
c:\> batchNameFile
或
c:\> batchNameFile autoupdate
其中" batchNameFile"是.BAT文件的名称,下面是脚本。
仅用于测试(第一个例子)或强制每个更新可用(第二个例子)
@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中进行了测试
答案 6 :(得分:3)
npm update -f
它的工作形式是我
npm update -f
它将更新所有插件和cli
答案 7 :(得分:3)
答案 8 :(得分:2)
你无法更新,但我写了一个删除我的插件并再次安装的批处理文件,所以在这种情况下我的所有插件都会自动更新,希望这能解决你的问题
@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
答案 9 :(得分:1)
最简单的方法是删除plugins文件夹。运行此命令:
cordova prepare
但是,在运行它之前,您可以检查您认为适合在Cordova的插件存储库website上构建的每个插件的版本,然后您应该手动修改config.xml文件。在通用建模语言文件的“版本”字段“config”中使用高级胡萝卜“^”表示您希望将来指定的插件更新到最新版本(下次运行该命令时)。 / p>
答案 10 :(得分:0)
如果安装第三方软件包:
npm i cordova-check-plugins
然后您可以运行一个简单的命令
cordova-check-plugins --update=auto --force
请记住,强迫任何事情总是会带来改变的潜在风险。
如其他答案所述,用于管理这些插件的NPM软件包在更新插件时也需要随之更新,因此现在您可以使用以下命令进行检查:
npm outdated
然后使用
npm update
现在,暂时再次为您的应用提供服务,并检查所有因更改而造成的问题。软件开发的喜悦! :)
答案 11 :(得分:-2)
cordova-check-plugins --update=auto --force
使用命令行
答案 12 :(得分:-8)
您不需要删除,只需再次添加。
cordova plugin add https://github.com/apache/cordova-plugin-camera