【bug】Error from chokidar (D:\): Error: EBUSY: resource busy or locked, lstat ‘D:\pagefile.sys‘

问题描述

该项目是拷贝的另一个项目(可正常运行),原项目曾将elementui的引入改为cdn引入,但是本地开发和打包运行都无误,拷贝后的项目npm install后,dev启动报错

 ERROR  Failed to compile with 1 errors                                                                   上午10:40:34
This dependency was not found:

* element-ui/lib/theme-chalk/index.css in ./src/main.js

To install it, you can run: npm install --save element-ui/lib/theme-chalk/index.css
Error from chokidar (D:\): Error: EBUSY: resource busy or locked, lstat 'D:\pagefile.sys'

原因分析

  1. 一开始百度的方法都是删除node_modulesnpm cache clean --force后重新npm install,都无用
  2. 根据报错提示npm install --save element-ui/lib/theme-chalk/index.css,依然报错
  3. package.json增加element-ui,依然报错
  4. 删除原项目的依赖后重新npm install,发现也无法再正常运行
  5. 重新安装了nodejs和npm,依然无法解决
  6. 不使用CDN引用方式,改回最原始的npm第三方依赖引入方式,运行正常

由此可知,问题出在elementui的cdn引入方式

问题解决

重新研究vue/webpack的cdn引入:
【vue/webpack3】【element-ui】引入CDN资源

终极原因分析

旧的出问题的引入方式与新的方式差别在两个地方:

  1. 旧项目能正常运行的时候node_modules有残留的‘element-ui’
  2. main.js的旧的通过require方式引入

因为旧的方式之前运行打包都没问题,以为问题出在package.json里去掉了‘element-ui’,但按原理运行时引入的应该是window域下的‘element-ui’,node_modules里有没有并不影响

最终发现:问题出现在的就main.js配置中的import ElementUI from 'element-ui'注释掉了,但import 'element-ui/lib/theme-chalk/index.css'未注释掉,所以才会报错This dependency was not found: * element-ui/lib/theme-chalk/index.css in ./src/main.js

经验教训:认真分析自己的错误信息,直接百度不靠谱!!!


版权声明:本文为lorogy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。