我在之前创建的存储库中使用 Angular 和 Java 生成了一个 JHipster 应用程序。然后我用它生成了一些 JDL 类并且构建成功,但是当我尝试在 GitHub 中提交我的更改时,它抛出了以下错误:
Commit failed - exit code 1 received, with output: '.git/hooks/pre-commit: line 32: node: command not found'
我查看了我的预提交文件:
#!/bin/sh
# husky
# Hook created by Husky
# Version: 1.3.1
# At: 2/13/2019, 12:10:11 PM
# See: https://github.com/typicode/husky#readme
# From npm package
# Name: husky
# Directory: undefined
# Homepage: https://github.com/typicode/husky#readme
scriptPath="JHipsterProject/node_modules/husky/run.js"
hookName=`basename "$0"`
gitParams="$*"
debug() {
[ "${HUSKY_DEBUG}" = "true" ] && echo "husky:debug $1"
}
debug "$hookName hook started..."
if [ -f "$scriptPath" ]; then
# if [ -t 1 ]; then
# exec < /dev/tty
# fi
if [ -f ~/.huskyrc ]; then
debug "source ~/.huskyrc"
source ~/.huskyrc
fi
node "$scriptPath" $hookName "$gitParams"
else
echo "Can't find Husky, skipping $hookName hook"
echo "You can reinstall it using 'npm install husky --save-dev' or delete this hook"
fi
错误在第 32 行:
node "$scriptPath" $hookName "$gitParams"
我不熟悉预提交文件或它们如何工作,但我目前有 v10.15.0
用于 Node.js,以及 1.8.0_201
用于我的 Java JDK 和 JRE。我使用的 JHipster 版本是 5.8.1
。
我应该在这个文件中更改什么,包括第 32 行,以消除我提交中的错误?
如果有帮助的话,我也在使用 Visual Studio Code IDE。
提前致谢。
原文由 James 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如@Stephen Savitzky 所建议的,这可能是节点安装问题。但是,如果您能够
然后,它可能是节点采购问题,因为它的路径可能与终端或 VSC 等 GUI 应用程序不同。
您的设置似乎使用
husky
作为预提交挂钩,因此为确保您拥有正确的节点版本,您可以添加~/.huskyrc
如 文档中所建议:然后,您可以从 NVM(如果您使用一个)或其他来源获取 Node。这也是调试
husky
钩子脚本启动时实际发生的事情的好方法。