无法完全卸载Cordova 降级后版本显示异常如何解决
Cordova版本不一致问题排查解决
出现全局查询cordova版本为9.0.0、ionic info显示8.1.2的核心原因有两个:一是安装指定版本时漏加全局参数,二是系统内存在多路径残留的旧版本软链接、终端命令缓存未刷新,按以下步骤操作即可修复:
- 定位命令路径冲突
执行which cordova查看当前终端调用的cordova命令所在路径,再执行npm root -g查看npm全局包的安装根目录,对比两个路径:如果which cordova返回的路径不在npm全局目录对应的bin文件夹下,说明该路径下的cordova是之前安装残留的旧版本文件。 - 清理残留旧文件
针对which cordova查到的非npm全局路径下的cordova文件/软链接,直接执行删除命令,例如返回路径为/usr/local/bin/cordova时,执行sudo rm /usr/local/bin/cordova即可。 - 重新正确安装全局指定版本
注意安装命令必须加-g全局参数,依次执行以下命令:
你此前执行的安装命令未加sudo npm uninstall -g cordova sudo npm install -g cordova@8.1.2-g,实际是把8.1.2版本装到了当前项目的本地依赖目录,这也是ionic info能读到8.1.2版本的原因——该命令默认优先读取项目本地安装的Cordova版本。 - 刷新缓存验证结果
执行hash -r清空当前终端的命令路径缓存,关闭当前终端窗口重新打开,再执行cordova -v,返回结果即为8.1.2版本,问题修复。
常见触发场景:使用nvm等Node版本管理工具、同时通过brew和npm两种渠道安装过Node、之前非sudo权限安装过全局Cordova,都可能造成多路径下的Cordova文件残留,后续切换版本时优先排查路径冲突即可。
内容的提问来源于stack exchange,提问作者Eleen009
相关产品推荐
相关产品推荐

