git提交时由于eslint的检测机制报错:npm run lint-staged:js found some errors

git提交时报了两条错误:
1、stylelint --syntax less found some errors. Please fix them and try committing again
2、npm run lint-staged:js found some errors. Please fix them and try committing again.

husky > pre-commit (node v10.15.3)

> ant-design-pro@1.0.0 lint-staged:js E:\wanghx\react-antd-pro
> eslint --ext .js,.jsx,.ts,.tsx  "E:/wanghx/react-antd-pro/config/config.js" "E:/wanghx/react-antd-pro/config/router.config.js" "E:/wanghx/react-antd-pro/src/locales/zh-CN/menu.js" "E:/wanghx/react-antd-pro/src/pages/Table/TableEditRow/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/components/Table1/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/components/Table2/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/index.jsx"


E:\wanghx\react-antd-pro\config\config.js
0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override

E:\wanghx\react-antd-pro\config\router.config.js
0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override

E:\wanghx\react-antd-pro\src\pages\Table\TablePagination\index.jsx
 4:10  warning  'FormattedMessage' is defined but never used  @typescript-eslint/no-unused-vars
 8:28  error    Curly braces are unnecessary here             react/jsx-curly-brace-presence
 9:17  error    Curly braces are unnecessary here             react/jsx-curly-brace-presence
19:17  error    Curly braces are unnecessary here             react/jsx-curly-brace-presence

6 problems (3 errors, 3 warnings)
3 errors and 0 warnings potentially fixable with the `--fix` option.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ant-design-pro@1.0.0 lint-staged:js: `eslint --ext .js,.jsx,.ts,.tsx  "E:/wanghx/react-antd-pro/config/config.js" "E:/wanghx/react-antd-pro/config/router.config.js" "E:/wanghx/react-antd-pro/src/locales/zh-CN/menu.js" "E:/wanghx/react-antd-pro/src/pages/Table/TableEditRow/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/components/Table1/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/components/Table2/index.jsx" "E:/wanghx/react-antd-pro/src/pages/Table/TablePagination/index.jsx"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ant-design-pro@1.0.0 lint-staged:js script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\wanghongxuan\AppData\Roaming
pm-cache\_logs\2019-09-19T01_11_04_263Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ant-design-pro@1.0.0 lint-staged: `lint-staged`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ant-design-pro@1.0.0 lint-staged script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\wanghongxuan\AppData\Roaming\npm-cache\_logs\2019-09-19T01_11_04_311Z-debug.log
husky > pre-commit hook failed (add --no-verify to bypass)

这两个错误都是由一个原因引起的,那便是git提交时的检测代码规范机制,详情请点击以下链接:
git commit前检测husky与pre-commit

第一种解决方案,在提交时加入 --no-verify参数,用来跳过检测机制,输入以下命令:

git commit --no-verify -m "提交时的注释"

另一种解决方案:
找到根目录中的.eslintignore文件,将src放入其中,以便git提交时跳过src目录中所有文件的eslint检测机制。如下

build/*.js
public
dist
src
### 解析 `git commit` `npm run lint-staged` 报错 在执行 `git commit` 操作期间遇到 `npm run lint-staged js ELIFECYCLE` 错误表明,在提交过程中触发了预设的钩子(hook),该钩子尝试运行 `lint-staged` 脚本以确保代码遵循既定风格指南和质量标准[^1]。 #### 可能的原因分析 此错误可能源于以下几个方面: - **依赖项缺失**:如果项目缺少必要的开发依赖包,比如 ESLintPrettier,则可能导致此类错误。 - **脚本配置不当**:`package.json` 文件中的 `husky` 和 `lint-staged` 配置不正确或不符合当前环境需求。 - **路径问题**:某些情况下,特定文件类型的路径模式设置不合理也可能引发异常行为。 - **版本兼容性冲突**:不同工具之间的版本差异可能会引起意想不到的行为。 #### 解决方案建议 针对上述情况,可以采取如下措施来解决问题并恢复正常的工作流程: 1. 安装所有必需的开发依赖: ```bash npm install --save-dev eslint prettier husky lint-staged ``` 2. 更新 `package.json` 中的相关部分,使其符合推荐的最佳实践。以下是经过验证有效的配置示例: ```json { "scripts": {}, ... "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "**/*.{js,jsx,ts,tsx}": [ "npm run lint", "prettier --write" ], "**/*.{less,md,json}": [ "prettier --write" ] } } ``` 3. 清理缓存并重新安装节点模块: ```bash rm -rf node_modules/ rm package-lock.json yarn.lock npm cache clean --force npm install ``` 4. 如果仍然存在 `ELIFECYCLE` 类型的错误,考虑升级 Node.js 版本至最新稳定版,并同步更新其他相关软件包及其插件。 5. 对于具体的 JavaScript/TypeScript 文件校验失败的情况,先单独运行对应的 linter 工具查看具体哪些地方违反了编码规范,再针对性修复这些问题后再试一次提交过程。 ```javascript // 手动测试单个linter规则 npx eslint path/to/file.js ``` 通过以上方法应该能够有效解决大部分因 `lint-staged` 导致的 `git commit` 失败现象。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值