我的Cordova升級(jí)到8已經(jīng)很久了,而且在此環(huán)境下原有的項(xiàng)目跑得好好的簇爆,所以別人說(shuō)有問(wèn)題需要把Corodva降級(jí)到7.1或者7.0時(shí)在孝,我不置可否。
最近嫌nvm
的node版本下的包(路徑:~/.nvm/versions/node)和原有node的包冗余郁惜,就手動(dòng)清理了一下,當(dāng)時(shí)也沒(méi)有發(fā)現(xiàn)什么問(wèn)題甲锡,后來(lái)想打包到真機(jī)時(shí)報(bào)錯(cuò)了,拋出如下錯(cuò)誤:
cordova/platform_metadata
打佑鸾洹:
cordova -v
顯示的是8.0.0缤沦,鑒于我原有項(xiàng)目在Cordova8下正常的,我便想是platform的問(wèn)題易稠,嘗試移除android平臺(tái)并重新添加:
ionic cordova platform rm andoid
ionic cordova platform add android@6.4.0
結(jié)果無(wú)法移除自然也無(wú)法添加缸废,那只好手動(dòng)刪除文件和配置并重新嘗試,結(jié)果還是不行驶社,這時(shí)網(wǎng)上流傳有兩種方法:
1企量、重新安裝cordova-plugin-add-swift-support插件;
2亡电、把cordova降級(jí)届巩;
看了下package.json沒(méi)有cordova-plugin-add-swift-support插件,所以選用第二種方法:
sudo npm uninstall cordova -g
sudo npm install cordova@7.1.0 -g
結(jié)果問(wèn)題解決了7萜埂恕汇!真的是這個(gè)原因腕唧?我又嘗試回滾到Cordova8來(lái)驗(yàn)證:
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
然后最后一步時(shí),在安裝ionic-plugin-keyboard插件時(shí)報(bào)cordova/platform_metadata錯(cuò)誤瘾英,那我把它移除再跑枣接,
此時(shí)又在安裝cordova-plugin-whitelist時(shí)報(bào)同樣錯(cuò)誤,那我再把它移除還報(bào)……然后我便懶得試了……