You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native项目Husky预提交钩子报错,添加node_modules忽略仍未解决

问题原因及解决方案

核心原因

??=(空值合并赋值运算符)是ES2020新增的语法特性,你的Node.js版本过低,不支持该语法。husky依赖的listr2工具库代码中使用了这个语法,导致预提交钩子执行时抛出语法错误。

解决步骤

  • 检查当前Node.js版本:

    node -v
    

    若版本低于14.0.0(??=从Node.js 14.0.0开始支持),则需要升级Node.js。

  • 升级Node.js版本:
    推荐用nvm(Node版本管理器)管理版本,操作如下:

    1. 安装nvm(未安装的话)
    2. 安装LTS版本的Node.js:
      nvm install 18
      
    3. 切换到刚安装的版本:
      nvm use 18
      

    不想用nvm的话,也可以直接从Node.js官网下载对应版本安装。

  • 验证修复:
    重新执行git commit --amend,确认预提交钩子正常运行。

注:你之前把node_modules添加到.husky/_/.gitignore的操作和当前问题无关,问题根源是Node版本不兼容,不是文件忽略规则的问题。

内容的提问来源于stack exchange,提问作者Rameez Hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:27:07