Tiven

Tiven

博观而约取,厚积而薄发

天问的个人网站(天问博客),专注于Node.js、Vue.js、React、Vite、Npm、Nginx等大前端技术。不断学习新技术,记录日常开发问题,持续分享coding,极客开源,共同进步。生命不息,奋斗不止... [ hexo blog ]

[vite] Internal server error: ENAMETOOLONG: name too long, stat '/Users/xxx'


使用 vite + vue3 开发项目,在启动服务时,出现如下报错:[vite] Internal server error: ENAMETOOLONG: name too long, stat '/Users/xxx'

vite

  • package.json 依赖配置
{
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.1.0",
    "vite": "^4.1.0"
  },
}
  • 完整报错
[vite] Internal server error: ENAMETOOLONG: name too long, stat '/Users/admin/Desktop/dev/annotation-fe/mark-audio?id=45342&status=view&viewMode=audit_view&page=approve&condition=%7B%22sampleBusiId%22%3A%22%22%2C%22annoStatus%22%3A3%2C%22taskIdNameInVague%22%3A%22%22%2C%22annoUserDomain%22%3A%22%22%2C%22purposeId%22%3A2%2C%22submitTimeBeginEnd%22%3A%22%22%7D'
      at Object.statSync (node:fs:1659:25)
  • 报错原因

报错原因是因为文件路径过长,导致系统无法创建文件。

  • 解决方案
  1. 修改 package.json 中的 vite 版本。
{
  "devDependencies": {
    "vite": "^4.1.1"
  },
}
  1. 删除 node_modules 目录和 package-lock.jsonyarn.lockpnpm-lock.yaml 文件。
  2. 重新 pnpm i 安装依赖。
  3. 重新启动项目。

参考文档:

  • https://github.com/vitejs/vite/issues/11904
  • https://github.com/vaadin/flow/pull/15807

欢迎访问:天问博客