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

Next.js项目执行npm run build时出现Webpack EPERM权限错误求助

Next.js Build 时 EPERM 权限错误的解决方案

问题描述

执行npm run build构建生产版本时,Webpack抛出权限错误:

正在创建优化的生产版本... glob error
[Error: EPERM: Operation not permitted, scandir ‘C:\Users\Ben\Application Data’] {
errno: -4048,
code: ‘EPERM’,
syscall: ‘scandir’,
path: ‘C:\Users\Ben\Application Data’
}
编译失败。

项目位于J盘,其他项目执行build正常,已尝试--force-clean清除缓存但无效。


修复步骤

1. 限定Webpack的模块搜索范围

当前next.config.ts仅排除了loader处理路径,但Webpack的resolve逻辑可能仍在扫描全局系统目录。修改配置,限定搜索范围为项目内部:

import path from 'path';

const nextConfig = {
  webpack(config) {
    // 强制模块仅在项目node_modules和根目录查找
    config.resolve.modules = [path.resolve(__dirname, 'node_modules'), 'node_modules'];
    config.resolve.roots = [__dirname];
    
    config.module.rules.push({
      test: /\.(js|jsx|ts|tsx)$/,
      exclude: [/node_modules/, /Application Data/],
    });

    return config;
  },
};

export default nextConfig;

2. 修正tsconfig.json的排除路径

原配置中exclude的路径与实际系统目录存在空格差异,更新为:

{
  "compilerOptions": {
    // 保持原有配置不变
  },
  "include": ["src", "types", "next-env.d.ts", ".next/types/**/*.ts"],
  "exclude": ["node_modules", "**/AppData/**", "**/Application Data/**"]
}

3. 排查第三方依赖的异常扫描

部分文件处理类依赖(如exceljs、xlsx)可能会意外扫描系统目录,可按以下步骤排查:

  • 执行npm update更新所有依赖到最新版本
  • 临时移除可疑依赖,执行npm run build测试,逐步定位问题包

4. 以管理员权限执行构建

Windows系统下,部分系统目录需要管理员权限才能访问,右键终端/命令提示符选择「以管理员身份运行」,再执行:

npm run build

5. 检查NODE_PATH环境变量

确保NODE_PATH未指向系统敏感目录:

  1. 终端执行echo %NODE_PATH%查看变量值
  2. 若包含C:\Users\Ben\Application Data,删除或修改该环境变量

内容的提问来源于stack exchange,提问作者Captai-N

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:44:55