最近学校要求使用ionic+angular
学习,但是出现下面问题,这里我就分享一个我亲测有效的解决方案,提供学习(在VScode
中)
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: app@0.0.1
npm error Found: @angular/compiler@17.3.9
npm error node_modules/@angular/compiler
npm error @angular/compiler@"^17.0.2" from the root project
npm error peer @angular/compiler@"17.3.9" from @angular/compiler-cli@17.3.9
npm error node_modules/@angular/compiler-cli
npm error dev @angular/compiler-cli@"^17.0.2" from the root project
npm error peer @angular/compiler-cli@"^17.0.0" from @angular-devkit/build-angular@17.3.8
npm error node_modules/@angular-devkit/build-angular
npm error dev @angular-devkit/build-angular@"^17.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error @angular/platform-browser-dynamic@"^17.0.2" from the root project
npm error
npm error Conflicting peer dependency: @angular/compiler@17.3.10
npm error node_modules/@angular/compiler
npm error peer @angular/compiler@"17.3.10" from @angular/platform-browser-dynamic@17.3.10
npm error node_modules/@angular/platform-browser-dynamic
npm error @angular/platform-browser-dynamic@"^17.0.2" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error C:\Users\1\AppData\Local\npm-cache\_logs\2024-05-23T08_05_36_730Z-eresolve-report.txt
npm error A complete log of this run can be found in: C:\Users\1\AppData\Local\npm-cache\_logs\2024-05-23T08_05_36_730Z-debug-0.log
[ERROR] An error occurred while running subprocess npm. npm.cmd i exited with exit code 1. Re-running this command with the --verbose flag may provide more information.
这个错误提示是由于依赖冲突引起的。特别是@angular/compiler的版本不匹配导致了问题。
我之前在很多UP主那里看到都尝试过,都不行,没有解决的好方案,下面介绍我的方法解决这个问题!
C:\Users\1>npm -v
10.8.0
C:\Users\1>node -v
v20.13.1
C:\Users\1>ionic -v
7.2.0
其他博主的意思是手动删除node_modules
和package-lock.json
然后手改更新package.json
文件中所有@angular
相关包的版本
其实没多大关系,我们不管
我们重新在全局进行修复问题
打开CMD
1. 更新Node.js和npm
确保你使用的是最新版本的Node.js和npm。你可以通过以下命令更新npm:
npm install -g npm
如果需要更新Node.js,可以从Node.js官网下载并安装最新版本。
2. 设置npm全局配置
你可以使用npm配置命令来设置全局配置项,例如设置legacy-peer-deps
或force
选项,以避免依赖冲突问题。
设置legacy-peer-deps
选项:
npm config set legacy-peer-deps true
设置force
选项(不推荐,除非必要):
npm config set force true
3. 清理npm缓存
清理npm缓存以确保没有缓存的旧依赖项导致问题:
npm cache clean --force
4. 检查和修复全局包
虽然npm audit
不能用于全局包,但你可以列出全局安装的包并手动检查和更新它们:
列出全局安装的包:
npm ls -g --depth=0
全局更新某些包(例如@angular/cli
):
npm install -g @angular/cli
最后,我们再去安装**ionic
**
我一般都是用VScode
中插件ionic
和Android studio搭配学习,包括 Angular
, React
和 Vue