一个很多年前的ionic1旧项目,最近需要打包运行,以前一直是基于node 14.21.0,ionic 5.4.16,cordova 11.0.0版本来编译打包的,都是正常,但是最近打包的时候无法打包成功,直接提示:
ERR: Your Node.js version is v14.21.0. Node.js 14 reached end-of-life on 2023-04-30 and is no longer supported. Please update to the latest Node LTS version.
找了很多方法,发现问题可能是node 14.21.0版本不是长期支持版,升级node版本,但是会报Could not resolve all files for configuration ':app:debugCompileClasspath'.这个错:
网上很多说法是找到build.gradle文件,修改为如下:
platforms/android/build.gradle
platforms/android/app/build.gradle
platforms/android/CordovaLib/build.gradle
按照以上方法,修改后继续报错:A problem occurred configuring root project 'android'. > Could not resolve all files for configuration ':classpath'.
应该是升级node后,受其他依赖环境的影响,毕竟项目很老,用的还是ionic1,不想大费周章,这种方式对本项目不适用,遂撤回。
继续查了很多资料,决定降级node到相邻的长期支持版本14.20.1 -LTS(Long Term Support),可以执行 nvm list available版本管理工具查看
降级后,先执行ionic cordova platform rm android 命令删除目录platforms/android文件夹,然后执行ionic cordova platform add android重新添加,添加完出现以下报错
继续执行命令npm i cordova-res,android文件夹添加完成,最后重新编译打包项目, ionic cordova build android,打包成功!