Mac下SourceTree无法执行pre-commit的解决方案

问题背景

最近负责的Web项目中参与人数多了起来,很多人没法自觉地遵守编码规范、在提交代码之前不检查自己的代码格式,导致提交了代码之后无法通过流水线的代码质量检查。

方案和出现的问题

在项目中引入了huskylint-staged来进行代码提交前的eslint检查和格式化。

使用命令行和WebStorm来进行代码提交时都能够正确调用pre-commit的钩子,但是在使用SourceTree提交代码时出现了如下错误:

Can't find npx in PATH

导致pre-commit调用失败。
但是重点不是pre-commit调用失败,而是在pre-commit调用失败后直接忽略了错误进行了强制提交。

解决方案

在用户根目录下创建.huskyrc文件,并在文件中写入如下内容:

# .huskyrc
export PATH="/usr/local/bin/:$PATH"

来保证SourceTree能够找到npx命令。

/usr/local/binnode的路径。可以通过which node来获取。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容