执行ng new时出现Angular CLI版本不匹配警告,本地版本来源存疑
Angular CLI空目录执行
ng new出现本地版本警告的原因与解决 原因解析
Angular CLI执行命令时,会自动向上遍历当前目录的所有父级目录,查找以下内容:
- 包含本地
@angular/cli包的node_modules文件夹 - Angular项目配置文件(
angular.json或.angular-cli.json) - 声明了
@angular/cli依赖的package.json文件
只要在遍历路径中找到以上任意一项,CLI就会优先使用对应的本地版本,而非全局版本。你在c:\users\me\sotest目录下出现v12版本的原因,就是该目录或其某个父级目录存在上述残留文件/文件夹,导致CLI识别到了旧版本的本地安装;而c:\angtest及其父级无此类残留,所以直接使用全局的v14版本。
解决方法
- 清理残留文件:检查
c:\users\me\sotest及其所有父级目录,删除残留的node_modules、package.json、angular.json、.angular-cli.json文件/文件夹。 - 强制忽略本地检查:执行
ng new时添加--skip-workspace-check参数,强制CLI使用全局版本创建项目:ng new myproject --skip-workspace-check - 指定版本创建:用
npx直接指定全局版本执行创建命令,彻底规避本地版本干扰:npx @angular/cli@14.2.3 new myproject
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

