I generated a JHipster app with Angular and Java, inside of a repository that I had previously made. I then generated some JDL classes with it and the build was successful, but when I tried to commit my changes in GitHub, it threw the following error:
Commit failed - exit code 1 received, with output: '.git/hooks/pre-commit: line 32: node: command not found'
I looked inside of my pre-commit file:
#!/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
The error was in line 32:
node "$scriptPath" $hookName "$gitParams"
I'm not familiar with pre-commit files or how they work, but I currently have v10.15.0
for Node.js, and 1.8.0_201
for my Java JDK and JRE. The version of JHipster I'm using is 5.8.1
.
Is there anything I should change in this file, including line 32 in order to get rid of the error in my commit?
I'm also using the Visual Studio Code IDE if that helps at all.
Thanks in advance.
As @Stephen Savitzky suggested, it might be Node installation problem. However, if you're able to
Then, it's probably Node sourcing problem since the paths to it might be different from terminals or from GUI apps like VSC.
Your setup seems to be using husky
for pre-commit hooks, so to ensure you have the right Node version, you could add ~/.huskyrc
as suggested in the docs:
# ~/.huskyrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Then, you can source Node from NVM (if you use one) or another source. It's also a good way to debug what's actually going on when husky
hook scripts kick in.