背景:
在項目中加入了 husky
, 并在git
的pre-commit
鉤子中加入eslint
校驗,在命令行中使用git commit -m "fix: eslint"
時,pre-commit
鉤子中的 shell
文件正常執(zhí)行拨齐,但我使用sourceTree
做同樣的操作時,卻提示:npm: command not found
(還有同學(xué)會提示(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