使用ng new创建Angular项目时大量包提示已废弃,如何解决?
嘿,刚接触Angular就碰到一堆废弃包警告确实挺闹心的,我来给你捋捋为啥会这样,以及怎么解决:
为什么会出现这些废弃警告?
- 你一周前安装的Angular CLI版本可能不是最新稳定版,旧版CLI生成项目时,默认引用的依赖包(比如
core-js@2.x、fsevents@1.x)已经被官方停止维护了。Angular团队会随着CLI版本迭代更新模板里的依赖版本,旧版自然会拉取这些过时的包。 - 另外,本地的npm版本偏低或者npm缓存里存了旧包,也可能导致安装时优先拉取旧版本依赖,而非最新兼容的版本。
如何更新并避免这些问题?
第一步:升级全局Angular CLI到最新版
这是最关键的一步,最新版CLI生成的项目会自动使用维护中的依赖包:
# 先卸载旧的全局CLI npm uninstall -g @angular/cli # 清除npm缓存(可选但推荐,避免缓存的旧包干扰) npm cache clean --force # 安装最新全局Angular CLI npm install -g @angular/cli@latest
提示:Windows用户建议用管理员权限打开命令提示符,Mac/Linux用户可能需要在命令前加
sudo(比如sudo npm install -g @angular/cli@latest)。
第二步:修复已创建的项目(如果需要保留)
如果你不想重新创建项目,想修复现有项目的警告,可以手动更新依赖:
- 打开项目根目录的
package.json文件 - 找到
core-js的依赖项,把版本改成^3.x(比如"core-js": "^3.30.0",^符号会让npm自动拉取3系的最新稳定版) - 对于
fsevents,它是macOS专用的间接依赖,只要你升级了Angular核心依赖,它会自动被更新到v2版本,不需要手动修改 - 最后在项目根目录运行:
npm install
这样npm会重新安装所有依赖,替换成最新的兼容版本。
第三步:更新npm本身到最新版
旧版npm可能存在依赖解析的问题,把npm也升级到最新版能减少这类问题:
npm install -g npm@latest
小提示
- 以后用最新版Angular CLI创建新项目,就不会再出现这些旧依赖的警告了
- 如果碰到个别包仍有警告,可以查看该包的npm页面确认最新版本,或者参考Angular官方文档的依赖推荐版本
内容的提问来源于stack exchange,提问作者Sierramike
相关产品推荐
相关产品推荐

