git commit 报错:npm ERR! code ELIFECYCLE ....lint-staged解决措施
- 问题:React工程,在执行
git commit
时报错如下:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ant-design-pro@4.0.0 lint-staged: `lint-staged`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ant-design-pro@4.0.0 lint-staged script.
- 尝试解决措施:
- 搜索 npm ERR! code ELIFECYCLE查到可能是因为npm缓存问题导致尝试解决措施如下:
npm cache clean --force
rm -rf node_modules
rm -rf package-lock.json
npm install
执行之后发现依然报错,无法正常commit。
- 搜索react git commit报错,找到以下解决措施:
删除之后发现问题解决,能够正常commit。//找到工程目录中的packge.json删除其中如下代码 "husky": { "hooks": { "pre-commit": "npm run lint-staged" } }
- 原因分析:
- 虽然问题解决了,但是这段代码应该是有用的,直接删除并不合适。
- 搜索查询lint-staged,发现这个是一段为了保证代码质量的自动检查脚本。
- 当执行git commit之前,都会执行一次对应的hook脚本 npm run lint-staged
- 出现commit不了问题,实际是因为代码有eslint报错。
- 重新还原修改尝试解决问题发现,clone下来的代码就是有问题的,遂改正所有报错之后重新commit,问题彻底解决。