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

WSL环境下vue-cli项目执行npm run serve报错如何解决?

问题原因
  • 核心根因:项目存放在WSL挂载的Windows磁盘(/mnt/c/开头路径),跨文件系统访问存在权限不兼容、性能差、文件锁冲突问题,文件监听工具chokidar遍历目录时会触发Windows系统占用文件(如DumpStack.log.tmp)、系统隐藏链接目录(如Documents and Settings)的读取报错。
  • 初始依赖缺失报错:要么是依赖未完整安装,要么是混用了WSL和Windows两种环境生成的node_modules,不同系统架构下的node编译产物不兼容,导致依赖识别失败。
  • node-sass编译报错:node-sass已经停止维护,对Node.js 16+版本兼容性极差,且在WSL挂载盘内编译原生模块时,会因为路径权限、文件系统兼容问题直接编译失败,同时你使用的Node版本和项目要求的node-sass版本也存在不匹配问题。
解决方案

WSL环境运行(推荐方案)

  1. 把整个项目从Windows挂载盘移动到WSL原生Linux文件系统路径下,比如/home/你的用户名/projects/目录,不要放在/mnt/c/开头的路径中,可解决绝大多数跨文件系统导致的报错。
  2. 删除项目内旧的依赖文件和锁定文件:
rm -rf node_modules package-lock.json yarn.lock
  1. 替换已废弃的node-sass为官方推荐的纯JS实现版本sass,无需编译原生模块,兼容性更强:
npm uninstall node-sass
npm install -D sass
  1. 全量安装项目依赖:
npm install
  1. 启动项目验证:
npm run serve

Windows原生环境运行

  1. 将项目移出C盘根目录,存放在非系统根目录的普通文件夹内,比如D:\projects\路径下,避免chokidar遍历系统占用文件触发锁报错。
  2. 同样删除旧的node_modules、package-lock.json、yarn.lock文件。
  3. 执行上述替换node-sass为sass的操作,命令和WSL环境一致。
  4. 全量安装依赖后启动项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:57:03