安装@angular/cli执行ng --version报input属性空值读取TypeError错误
Angular CLI安装后运行
ng --version触发TypeError: Cannot read property 'input' of null的解决方法 该报错无固定单一触发点,核心原因集中在版本适配冲突、安装文件损坏、全局路径配置异常三个方向,可按以下步骤逐一验证修复:
校验Node.js版本适配性
- 最新版@angular/cli对Node.js运行版本有明确的最低要求,版本不匹配时会直接导致CLI核心模块读取空配置,触发类型报错
- 执行
node -v查看本地Node.js版本:Angular 17+要求Node.js版本不低于18.13.0,Angular 16适配的Node.js版本区间为16.14.0 ~ 18.10.0 - 若当前版本不在适配范围内,更换为对应要求的Node.js长期支持(LTS)版本后再验证CLI运行状态
清理损坏的CLI安装残留后重装
- 先执行全局卸载命令移除现有CLI文件:
npm uninstall -g @angular/cli - 手动定位npm全局安装目录,删除目录下残留的
@angular文件夹、ng、ng.cmd可执行文件,避免旧版本残留文件干扰新安装的CLI调用 - 执行缓存清理命令移除损坏的本地npm缓存:
npm cache clean --force - 重新执行全局安装命令:
npm install -g @angular/cli@latest - 安装完成后再次执行
ng --version验证输出
排查全局路径与权限问题
- 提示:若终端调用的并非本次安装路径下的CLI可执行文件,也会因上下文缺失触发空值读取报错
- 检查npm全局安装路径是否已被系统环境变量Path正确收录,避免终端优先调用其他路径下残留的旧版CLI程序
- Windows系统下可使用管理员权限打开终端,重新执行CLI安装与版本查询命令,规避目录权限拦截导致的配置读取失败
- 类Unix系统(macOS/Linux)下,可在安装命令前加
sudo提权执行,避免全局目录权限不足导致的安装文件不完整
内容的提问来源于stack exchange,提问作者Safwen Soker
相关产品推荐
相关产品推荐

