如何在构建脚本中自动更新cordova插件?
我在jenkins有一个多cordova项目设置,因此构建是脚本化的,结构如下如何在构建脚本中自动更新cordova插件?,cordova,cordova-plugins,Cordova,Cordova Plugins,我在jenkins有一个多cordova项目设置,因此构建是脚本化的,结构如下 Cordova/plugins/*my custom plugins* Cordova/A/... cordova project Cordova/B/... another cordova project Cordova/C/... another cordova project 我的构建脚本,对于每个项目都执行以下操作 cd A cordova plugin remove my-custom-plugin co
Cordova/plugins/*my custom plugins*
Cordova/A/... cordova project
Cordova/B/... another cordova project
Cordova/C/... another cordova project
我的构建脚本,对于每个项目都执行以下操作
cd A
cordova plugin remove my-custom-plugin
cordova plugin add ../plugins/my-custom-plugin
cd B
cordova plugin remove my-custom-plugin
cordova plugin add ../plugins/my-custom-plugin
cd C
cordova plugin remove my-custom-plugin
cordova plugin add ../plugins/my-custom-plugin
但是,尽管。/plugins/my custom plugin
的版本较新,cordova将从平台中删除插件,但不会将其从项目本地插件文件夹中删除,重新添加时使用项目本地插件文件夹中的版本,而不是本地。/plugin
路径中的版本
我怀疑这是因为config.xml为我的自定义插件写了^1.0.7
,本地版本是1.0.7
。/plugins/my custom plugin
中的新版本是1.0.8
是否有办法强制插件始终从。/plugins/my custom plugin
版本更新?最好是在我的构建脚本(bash)中执行一些不涉及额外依赖项的操作。我不确定它在您的特殊情况下是否有帮助,但用于检查插件版本和(自动)更新插件的非常好的cli工具是:
试试看。我发现了问题
每次构建项目时,都会留下部分ios平台。我不确定为什么会发生这种情况,因为我没有明确地cordova platform添加ios
,但config.xml中有一个对ios的引用,因此可能与此有关
无论如何,下一次构建项目时,脚本先删除插件,然后再删除平台,当它试图从ios平台删除插件时,插件的删除失败,因为PlatformApi
不可用,这意味着它没有时间进行它将要进行的npm卸载
,完全删除插件
因此,在重新添加时,它使用的是已安装的npm版本,而不是最新版本
解决办法很简单。首先移除平台,然后移除插件。这样,ios平台的问题就不会导致插件的删除
作为奖励,这样做更快。我知道这个选项,但不想走这条路,因为它增加了另一个依赖项,并且觉得没有必要。