背景:
在项目中加入了 husky
, 并在git
的pre-commit
钩子中加入eslint
校验,在命令行中使用git commit -m "fix: eslint"
时,pre-commit
钩子中的 shell
文件正常执行,但我使用sourceTree
做同样的操作时,却提示:npm: command not found
(还有同学会提示(npx : command not found))
pre-commit
钩子中代码如下
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run lint:staged
package.json中的脚本为
"scripts": {
"lint:staged": "npx lint-staged"
},
解决方案
在pre-commit
钩子中加入PATH
变量解析
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# 加入下面这行
PATH="/usr/local/bin:$PATH"
npm run lint:staged
网友评论