VS Code前端项目首次Git提交报错:commit-msg-linter.js不存在及语法错误
解决Git提交时git-commit-msg-linter报错问题
问题分析
从错误日志来看,核心异常有两点:一是钩子脚本提示找不到commit-msg-linter.js(但文件实际存在),二是VC_redist的安装日志内容意外混入了脚本执行流,导致Node.js抛出语法错误。问题根源大概率是Git的commit-msg钩子脚本被污染,或是路径配置存在异常。
解决方案
检查并修复
commit-msg钩子脚本
找到项目根目录下的.git/hooks/commit-msg文件(该文件夹默认隐藏,需开启系统显示隐藏文件的设置),打开后删除所有类似[423C:2D00][2024-01-11T12:37:02]i001: Burn v3.10.4.4718...的无关内容,确保脚本仅保留调用git-commit-msg-linter的逻辑。同时修正脚本中指向commit-msg-linter.js的路径:- 替换相对路径为绝对路径(Windows环境示例):
C:/Users/你的用户名/Desktop/frontend/v1-frontend/node_modules/git-commit-msg-linter/commit-msg-linter.js - 路径需使用正斜杠
/或双反斜杠\\,避免Windows路径转义问题
- 替换相对路径为绝对路径(Windows环境示例):
重新生成Git钩子
卸载并重装依赖,让包管理器重新生成干净的钩子脚本:npm uninstall git-commit-msg-linter npm install git-commit-msg-linter --save-dev测试无钩子提交
执行以下命令跳过钩子验证,确认提交功能本身正常:git commit --no-verify -m "测试提交"如果能正常提交,说明问题完全出在钩子脚本上,继续聚焦钩子配置排查。
检查Node.js环境
打开终端执行node -v和npm -v,确认Node.js环境正常运行;同时确保钩子脚本中调用Node的命令是node(而非自定义路径),避免环境变量配置异常导致的路径识别问题。
内容的提问来源于stack exchange,提问作者Bojana
相关产品推荐
相关产品推荐

