运行预提交 husky 脚本时未找到 Npx
Posted
技术标签:
【中文标题】运行预提交 husky 脚本时未找到 Npx【英文标题】:Npx not found when runing pre-commit husky script 【发布时间】:2021-07-13 16:40:07 【问题描述】:环境
节点安装在~/node-v14.15.3-linux-x64/bin/node
中,并且已经设置在 PATH
变量中。
VSCode 1.55.2
问题
每次我尝试在我的代码中提交更改时都会得到:
.husky/pre-commit: 4: npx: 未找到 husky - 预提交钩子退出,代码为 127(错误)
代码
husky.sh#!/bin/sh
if [ -z "$husky_skip_init" ]; then
debug ()
[ "$HUSKY_DEBUG" = "1" ] && echo "husky (debug) - $1"
readonly hook_name="$(basename "$0")"
debug "starting $hook_name..."
if [ "$HUSKY" = "0" ]; then
debug "HUSKY env variable is set to 0, skipping hook"
exit 0
fi
if [ -f ~/.huskyrc ]; then
debug "sourcing ~/.huskyrc"
. ~/.huskyrc
fi
export readonly husky_skip_init=1
sh -e "$0" "$@"
exitCode="$?"
if [ $exitCode != 0 ]; then
echo "husky - $hook_name hook exited with code $exitCode (error)"
exit $exitCode
fi
exit 0
fi
预提交文件
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged
npx lint-staged
我尝试了什么
将此"terminal.integrated.inheritEnv": false,
添加到settings.json
在.huskyrc
中导出节点和npx,如下所示:
export NODEJS_HOME="$HOME/node-v14.15.3-linux-x64/bin"
export NPX_Dir="$HOME/node-v14.15.3-linux-x64/bin/npx"
但没有一个有效
注意 使用
git commit
从vscode终端提交更改时,预提交脚本正常运行。
文档指出:
您可以在终端中回显 $PATH 并将您的应用配置为使用相同的值。
那么,我该怎么做呢?
【问题讨论】:
【参考方案1】:最近遇到了这个问题。这个错误“.husky/pre-commit: 4: npx: not found husky - pre-commit hook exited with code 127 (error)”是因为我没有在我的系统上安装节点。我建议试试这个https://www.newline.co/@Adele/how-to-install-nodejs-and-npm-on-macos--22782681
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review以上是关于运行预提交 husky 脚本时未找到 Npx的主要内容,如果未能解决你的问题,请参考以下文章
VSCODE 和 GitHub 桌面预提交挂钩:npx:找不到命令