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

执行npm run build报ENOENT错误:文件实际存在却提示不存在求解决

解决Vue项目npm run build报ENOENT错误(文件实际存在)

问题现象

  • 执行npm run build时抛出错误:node:internal/fs/utils:348 Error: ENOENT: no such file or directory
  • 报错指向的文件实际存在,但构建始终失败
  • npm run serve可正常编译运行,已尝试删除node_modules、package-lock.json,更新Node.js、npm,删除全局npm文件夹等常规方案,问题仍持续

环境信息

node v14.17.6
npm 9.1.3
Mac OS 12.5.1 (Monterey)
vue/cli-service": "^3.9.0
vue: "^2.6.14

排查与解决方案

1. 检查路径大小写一致性

MacOS文件系统默认大小写不敏感,但Node.js构建时会严格区分路径大小写。确认项目中所有import/require语句、vue.config.js配置里的文件路径,是否和实际文件的大小写完全匹配(比如实际文件是Header.vue,代码里不能写成header.vue)。

2. 清理Vue CLI构建缓存

执行命令清理构建缓存,避免缓存导致的异常:

npx vue-cli-service clean

清理完成后重新执行npm run build。

3. 修复项目文件权限

确保报错文件及父目录权限正确,执行以下命令修复(替换/path/to/your/project为你的项目实际路径):

sudo chown -R $(whoami) /path/to/your/project
chmod -R 755 /path/to/your/project

4. 降级npm版本适配Node.js 14.x

npm 9.x与Node.js 14.x存在兼容性问题,尝试降级npm到适配版本:

npm install -g npm@6.14.15

之后重新安装依赖:

rm -rf node_modules package-lock.json
npm install

5. 检查vue.config.js配置错误

确认vue.config.js中的outputDir、assetsDir、自定义copy-webpack-plugin等配置,是否存在指向不存在路径的设置。

6. 处理文件软链接问题

如果项目文件涉及软链接,Node.js构建时可能无法正确解析。可以:

  • 将软链接替换为实际文件/目录
  • 或在vue.config.js中配置webpack允许解析软链接:
module.exports = {
  configureWebpack: {
    resolve: {
      symlinks: false
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:10:30