任何人都知道在我的cordova/phonegap项目中更新cordova插件的正确方法是什么?前段时间我安装了文件插件:
cordova plugin add org.apache.cordova.file
一切都很好.现在我意识到有一个新版本的文件插件,所以我想更新以获得新功能.但是,我还没有找到一个体面的更新方式.实际上,我根本无法更新.
当我运行remove命令时:
cordova plugin rm org.apache.cordova.file
我收到以下消息:
Deleting plugin org.apache.cordova.file No dangling plugins to remove.
有趣的是,如果我跑
cordova plugin
之后,我仍然在安装的插件列表中看到org.apache.cordova.file.此外,文件系统没有单一更改.没有删除任何内容,也没有更新文件.
然后我尝试再次添加一个插件(至于更新插件,建议删除它并再次添加):
cordova plugin add org.apache.cordova.file
哪个输出:
Fetching plugin "org.apache.cordova.file" via plugin registry Plugin "org.apache.cordova.file" already installed on android. Plugin "org.apache.cordova.file" already installed on ios.
而且,即使这会带来新版本的java和javascript文件(以及其他一些文件),正如我所料,它只会将它们带到myproject/plugins文件夹中.
它不会更新平台文件夹中的文件(myproject/platforms/android/assets/www/plugins和myproject/platforms/ios/www/plugins),它安装了我第一次安装它们的文件.
因此我的项目仍然使用旧版本的插件.
所以我想知道,如何更新插件.任何的想法?我是否必须手动将它们复制到平台文件夹?这记录在哪里?
提前致谢.
所以最终我发现了这个问题.
看来,org.apache.cordova.file
和之间存在某种依赖关系org.apache.cordova.file-transfer
.因此,如果file-transfer
安装了插件,则不会删除文件插件,因此如果平台文件夹不会更新.
解决方案是先删除file-transfer
插件然后删除文件插件.然后添加文件和file-transfer
插件将正确地更新所有平台中的插件,正如人们所期望的那样.
花了一些时间才弄明白,但是诀窍.