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

Grunt升级至1.3.0后执行报错 无法创建目录ERR_INVALID_ARG_VALUE

报错根因

该错误由Grunt 1.3.0版本的文件操作逻辑变更触发:

  • Grunt 1.0.4版本会自动过滤mkdir相关配置中值为null的mode参数,不会将其透传给Node.js原生fs.mkdir方法
  • Grunt 1.3.0移除了该参数过滤逻辑,会直接将配置中的mode: null传给原生方法,而Node.js 12及以上版本收紧了fs.mkdir的参数校验规则,null不属于mode参数的合法取值,因此抛出ERR_INVALID_ARG_VALUE错误。
修复方案

按优先级从高到低可选以下方案:

  • 直接修改Gruntfile配置
    定位到Gruntfile.js中mkdir任务的配置段,删除所有mode: null配置项,或显式传入合法的八进制目录权限值即可,参考修改示例:
    // 修改前的问题配置
    mkdir: {
      doc: {
        options: {
          mode: null,
          create: ["./build/documentation"]
        }
      }
    }
    
    // 修复后:移除mode字段,使用默认权限
    mkdir: {
      doc: {
        options: {
          create: ["./build/documentation"]
        }
      }
    }
    
    // 修复后:显式指定权限(按需选用)
    mkdir: {
      doc: {
        options: {
          mode: 0o755,
          create: ["./build/documentation"]
        }
      }
    }
    
    修改完成后重新执行grunt命令即可正常创建目录。
  • 调整依赖版本
    如果使用第三方grunt-mkdir插件触发该问题,可先升级插件到最新版本;若最新版本仍未修复该兼容问题,可临时将Grunt版本锁定为1.0.4,在package.json中修改依赖配置后重装依赖即可:
    {
      "devDependencies": {
        "grunt": "1.0.4"
      }
    }
    
  • 修复自定义任务逻辑
    如果是自行编写的Grunt自定义任务中调用grunt.file.mkdir方法触发报错,检查传参逻辑,不要给mode参数传null,省略该参数时Node会默认使用合理的权限创建目录,无需显式传空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:54:22