如何删除cordova-plugin-compat?

时间:2017-10-03 18:51:06

标签: cordova cordova-plugins cordova-ios

在cordova-android 6.3.0(https://cordova.apache.org/announcements/2017/09/27/android-release.html)的发行说明中,记下了#!/bin/bash module load jupyter ## get tunneling info XDG_RUNTIME_DIR="" ipnip=$(hostname -i) echo " Copy/Paste this in your local terminal to ssh tunnel with remote ----------------------------------------------------------------- ssh -N -L 7905:$ipnip:7905 USER@HOST ----------------------------------------------------------------- " ##UP UNTIL HERE ECHO TO TERMINAL ##FROM NOW ON, ECHO TO A FILE exec > $SLURM_JOBID.out 2>&1 ## start an ipcluster instance and launch jupyter server jupyter-notebook --no-browser --port=7905 --ip=$ipnip 必须删除

如果我尝试

cordova-plugin-compat

我收到以下错误

  

[错误]运行cordova插件时发生错误   cordova-plugin-compat --save(退出代码1):

     

错误:需要插件'cordova-plugin-compat'   (cordova-plugin-calendar,cordova-plugin-camera,cordova-plugin-file,   cordova-plugin-geolocation),跳过卸载。 (试试 - 如果   试图更新)

如果我尝试cordova plugin rm cordova-plugin-compat 删除,它就可以了,该插件已删除,我可以构建我的Android应用。

但是,我刚删除了我的--force平台再次添加它,我现在面对错误

  

cordova准备ios错误:无法找到plugin的插件文件" cordova-plugin-compat"。请尝试重新添加。

     

[错误]运行cordova准备ios时出错(退出代码   1)。

知道我做错了什么吗?应该删除iOS吗?为什么我的iOS平台引用它,我以为它只适用于android?

我使用cordova-android@6.3.0和cordova-ios@4.5.1

P.S。:如果我删除并添加iOS平台,compat插件会自动添加为package.json和package-lock.json中的参考

更新

最后一个插件发布(https://cordova.apache.org/news/2017/11/10/plugins-release.html)很可能分别解决了这个问题,看起来问题是来自其他插件的cordova-plugin-compat插件的引用。但是,

我还没有完全测试并解决它,因为我正在使用另一个插件,其中也引用了compat(https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin/issues/426)。

我将保持这个线程打开,直到我能100%确认这解决了compat的引用。

最终更新

删除从cordova-plugin-compat到'cordova-plugin-compat'的依赖关系的PR已经通过,我能够删除这个最后一个插件而没有"强制"

6 个答案:

答案 0 :(得分:6)

问题的根源是插件直接引用cordova-plugin-compat

因此,即使不推荐使用插件,仍然需要它。强制删除(使用--force)不是解决方案,因为如果我再次删除并添加了一个平台,那么,由于这些引用,插件'cordova-plugin-compat'会在该过程中自动添加。 / p>

问题的解决方案是等待新版本或提交PR以删除依赖项。

就我而言,有一些插件引用了cordova-plugin-compat

  

错误:需要插件'cordova-plugin-compat'   (cordova-plugin-calendar,cordova-plugin-camera,cordova-plugin-file,   cordova-plugin-geolocation),跳过卸载。 (试试 - 如果   试图更新)

更新以下插件解决了我的问题:

cordova-plugin-camera@3.0.0cordova-plugin-file@5.0.0cordova-plugin-geolocation@3.0.0删除了相关性(请参阅https://cordova.apache.org/news/2017/11/10/plugins-release.html

cordova-plugin-calendar@5.0.0通过此PR删除了依赖项 https://github.com/EddyVerbruggen/Calendar-PhoneGap-Plugin/pull/430

答案 1 :(得分:2)

对我来说,修复它是通过Android Studio更新Android SDK,然后运行:

cordova plugin rm cordova-plugin-compat --force
cordova platform rm android
cordova platform add android@6.3.0

希望能帮助别人!

答案 2 :(得分:0)

cordova-plugin-compat仅适用于Android,因此不会导致iOS出错。我建议尝试清理你的Cordova项目。

删除以下目录:plugins,platforms,node_modules。它们将被重新创建

然后执行:

cordova platform add android
cordova platform add ios
cordova prepare # usually made by commands above but juste in case
cordova compile

答案 3 :(得分:0)

你可能有另一个需要compat插件的插件。请检查插件的package.json。

答案 4 :(得分:0)

我有同样的问题,cordova-plugin-file现在有解决方案吗?

https://forum.ionicframework.com/t/cordova-plugin-file-cordova-android-6-3-0-build-error/110682

答案 5 :(得分:0)

删除旧于1.2版的插件

$ cordova plugin rm cordova-plugin-compat --force

然后添加1.2版

$ cordova plugin add cordova-plugin-compat@1.2

这对我来说效果很好!

相关问题