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

Vue3+Vite生产构建报错EPERM:无权限扫描指定系统目录

Vue3 + Vite构建报错EPERM: operation not permitted, scandir 'C:\Documents and Settings'

问题场景

开发模式运行正常,执行npm run build时触发[vite:import-glob]权限错误,指向Room.vue中的import.meta.glob代码:

roomImages.value = import.meta.glob("../assets/rooms/romantique/*.(jpg|JPG|png|PNG)",{ as: "url" });

可能的解决方案

  • 修正glob匹配语法:Vite的import.meta.glob采用picomatch规则,扩展名匹配需用大括号{}而非小括号(),小括号会导致匹配逻辑异常,错误扫描系统保护目录。修改代码为:

    roomImages.value = import.meta.glob("../assets/rooms/romantique/*.{jpg,JPG,png,PNG}", { as: "url" });
    
  • 改用项目根相对的绝对路径:避免相对路径解析偏差,将路径改为基于项目根的绝对路径(假设src是源码目录):

    roomImages.value = import.meta.glob("/src/assets/rooms/romantique/*.{jpg,JPG,png,PNG}", { as: "url" });
    
  • 检查目录存在性与拼写:确认../assets/rooms/romantique目录真实存在,拼写(包括大小写)与实际文件夹一致——Windows虽大小写不敏感,但构建工具可能因解析问题触发异常。

  • 升级/降级Vite版本:部分旧版Vite的glob匹配存在Windows路径解析bug,尝试更新Vite到最新稳定版,或回退到已知无此问题的版本(比如4.4.x系列)。修改package.json中的vite版本后执行npm install。

补充验证

如果上述方案无效,可临时注释掉这段glob代码,执行npm run build验证是否还会触发相同错误,以确认是否是该代码导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:25:28