运行Angular的ng命令提示ng.js存在无效字符报错如何解决
Windows环境全局执行ng命令报JScript编译错误问题分析
报错现象
- 任意路径执行
ng命令均报错,Angular项目内和外部路径报错一致 - 报错提示无法读取
\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng.js文件 - 可正常执行
npm run ng serve启动项目,仅全局ng命令异常
具体报错信息
脚本路径:(当前用户名)\AppData\Roaming\npm\node_modules@angular\cli\bin\ng.js
行:1
字符:1
错误:无效字符
错误码:800A03F6
来源:Microsoft Jscript编译错误
已尝试排查操作
- 多个不同Angular项目执行全局ng命令,报错完全一致
- 多次组合重装npm、Angular CLI,删除全局和项目内
node_modules目录 - 系统环境变量中手动添加Angular CLI执行路径
- 重装相关关联组件,问题未解决
问题背景
此前全局ng命令曾出现缺失问题,疑似和Python安装操作相关,完成关联组件重装后触发当前报错。
根因分析与解决方案
触发原因
该报错本质是Windows系统默认调用JScript引擎解析ng脚本,而非Node.js执行程序,通常由以下情况导致:
- Node.js安装文件损坏,全局命令的关联执行逻辑异常,无法正确将.js后缀的Node脚本绑定到Node.js运行时执行
- 系统文件后缀关联配置被第三方工具修改,比如安装Python、其他脚本类工具时篡改了.js文件的默认打开程序
- npm全局指令的软链接/映射配置损坏,无法正确指向Node.js执行程序
解决方案
直接重装官方正式版Node.js即可修复损坏的执行关联配置,无需额外修改其他参数,重装后全局ng命令可恢复正常。
内容的提问来源于stack exchange,提问作者robin de witte
相关产品推荐
相关产品推荐

