M1 MacBook创建Angular项目遇ERESOLVE依赖树解析错误求助
解决M1 MacBook上Angular环境搭建的依赖冲突问题
1. 关于@npmcli/move-file弃用警告
这个警告是npm内部依赖的正常迭代,不影响Angular CLI的功能,可直接忽略。ng v显示CLI已成功安装,说明全局安装流程正常。
2. 解决ERESOLVE unable to resolve dependency tree依赖冲突
问题源于npm 9的严格依赖解析规则,与Angular CLI 15创建项目时的rxjs版本匹配逻辑冲突。你尝试的--force和--legacy-peer-deps无效,是因为ng new不直接支持这些npm参数,可通过以下方式处理:
方法一:临时配置npm使用旧版依赖解析规则
执行ng new前,先设置npm临时配置:
npm config set legacy-peer-deps true
再创建项目:
ng new Hello-World
项目创建完成后,可按需恢复npm配置:
npm config set legacy-peer-deps false
方法二:直接给ng new传递npm参数
Angular CLI允许通过--npm-client-args传递npm配置,执行:
ng new Hello-World --npm-client-args="--legacy-peer-deps"
方法三:手动指定兼容的rxjs版本创建项目
若上述方法无效,可在创建项目时直接指定与Angular 15兼容的rxjs版本:
ng new Hello-World --skip-install cd Hello-World npm install rxjs@^7.4.0 npm install
3. M1 MacBook环境优化建议
- 避免用
sudo全局安装npm包,建议配置npm全局目录权限,防止后续权限问题:
把mkdir -p ~/.npm-global npm config set prefix '~/.npm-global'~/.npm-global/bin添加到shell配置文件(~/.zshrc或~/.bashrc):
重启终端后,即可无需export PATH=~/.npm-global/bin:$PATHsudo安装全局包。
内容的提问来源于stack exchange,提问作者Carl Emil Zeidler
相关产品推荐
相关产品推荐

