Git合并冲突解决后执行git merge --continue报Node未识别错误求助
解决git merge --continue时node命令无法识别的问题
这种情况大概率是git执行merge后续流程时,没有正确加载nvm配置的node环境变量,或者merge触发的hook脚本存在路径问题,试试下面这些方法:
1. 检查git bash的环境变量加载
打开git bash,输入echo $PATH,查看输出里是否包含nvm对应版本的node路径(比如C:\Users\<你的用户名>\.nvm\versions\node\v18.17.1\bin)。如果没有:
- 前往用户目录(
C:\Users\<你的用户名>)找到.bashrc或.bash_profile文件,确认里面有nvm的初始化代码:
若缺失则手动添加,重启git bash后再尝试merge操作。export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
2. 检查项目的git hook脚本
查看项目根目录下的.git/hooks文件夹,确认是否存在和merge相关的脚本(比如merge-commit、post-merge)。如果有,检查脚本中调用node的语句,是否使用了错误路径,将其修改为绝对路径,比如"C:\Program Files\nodejs\node.exe"或当前nvm版本对应的node路径。
3. 以管理员权限运行终端
部分场景下权限不足会导致环境变量加载不全,右键点击git bash或cmd,选择「以管理员身份运行」,再执行git merge --continue尝试解决。
4. 重置git的shell配置
执行以下命令让git通过cmd加载系统环境变量:
git config --global core.shell "cmd.exe /c"
完成merge操作后,可改回原shell配置(比如使用git bash的话,执行git config --global core.shell "bash.exe")。
5. 临时手动指定node路径
在执行git merge --continue之前,先在当前终端中手动将node路径添加到PATH:
set PATH=C:\Users\<你的用户名>\.nvm\versions\node\v18.17.1\bin;%PATH%
之后再执行merge命令即可。
内容的提问来源于stack exchange,提问作者Anna Miklash
相关产品推荐
相关产品推荐

