JHipster项目pre-commit报错:spawn UNKNOWN,请求协助排查
解决pre-commit钩子中prettier报错“spawn UNKNOWN”的问题
可能的原因及对应解决步骤
1. 检查prettier安装与调用路径
- 确认项目本地已安装prettier,未安装则执行:
npm install prettier --save-dev - 查看pre-commit钩子配置(如
.pre-commit-config.yaml或.husky/pre-commit脚本),将prettier的调用改为本地依赖路径,比如用npx prettier --write .或./node_modules/.bin/prettier --write .,避免依赖全局安装的prettier
2. 修复Node.js与依赖兼容性
- 清除npm缓存并重装依赖:
npm cache clean --force npm install - jhipster 6.10.1搭配的husky版本可能与Node.js 16存在兼容问题,尝试降级husky到v4.x:
npm install husky@4.3.8 --save-dev,之后重新生成钩子
3. 排查系统路径与权限问题
- 确保项目所在路径无中文、空格或特殊字符,Windows系统下这类路径易导致spawn失败
- 以管理员身份打开终端,重新执行
git commit -m "message",排除权限不足的影响
4. 验证prettier本身及钩子配置
- 直接在终端执行
prettier --write .,如果单独执行也报错,检查.prettierrc配置是否合法,或是否存在prettier无法解析的文件 - 若单独执行正常,尝试重新初始化钩子:执行
npx husky install(使用husky的情况下),或删除.git/hooks/pre-commit后重新生成钩子
内容的提问来源于stack exchange,提问作者ZINE Mahmoud
相关产品推荐
相关产品推荐

