我的Cordova升级到8已经很久了,而且在此环境下原有的项目跑得好好的,所以别人说有问题需要把Corodva降级到7.1或者7.0时,我不置可否。
最近嫌nvm
的node版本下的包(路径:~/.nvm/versions/node)和原有node的包冗余,就手动清理了一下,当时也没有发现什么问题,后来想打包到真机时报错了,抛出如下错误:
cordova/platform_metadata
打印:
cordova -v
显示的是8.0.0,鉴于我原有项目在Cordova8下正常的,我便想是platform的问题,尝试移除android平台并重新添加:
ionic cordova platform rm andoid
ionic cordova platform add android@6.4.0
结果无法移除自然也无法添加,那只好手动删除文件和配置并重新尝试,结果还是不行,这时网上流传有两种方法:
1、重新安装cordova-plugin-add-swift-support插件;
2、把cordova降级;
看了下package.json没有cordova-plugin-add-swift-support插件,所以选用第二种方法:
sudo npm uninstall cordova -g
sudo npm install cordova@7.1.0 -g
结果问题解决了!!真的是这个原因?我又尝试回滚到Cordova8来验证:
sudo npm uninstall cordova -g
sudo npm install cordova -g
ionic cordova platform rm android
ionic cordova platform ls
ionic cordova platform add android@6.4.0
然后最后一步时,在安装ionic-plugin-keyboard插件时报cordova/platform_metadata错误,那我把它移除再跑,
此时又在安装cordova-plugin-whitelist时报同样错误,那我再把它移除还报……然后我便懒得试了……
网友评论