作为前端攻城狮,和npm打交道肯定是少不了的,经常利用npm下载各种依赖,题主就经常遇到这个报错
F:\demo\webpack_study\webpack4.0>npm install webpack -D
npm ERR! path F:\demo\webpack_study\webpack4.0\node_modules\fsevents\node_modules\getpass\node_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall scandir
npm ERR! Error: EPERM: operation not permitted, scandir 'F:\demo\webpack_study\webpack4.0\node_modules\fsevents\node_modules\getpass\node_modules'
npm ERR! { Error: EPERM: operation not permitted, scandir 'F:\demo\webpack_study\webpack4.0\node_modules\fsevents\node_modules\getpass\node_modules'
npm ERR! stack: 'Error: EPERM: operation not permitted, scandir \'F:\\demo\\webpack_study\\webpack4.0\\node_modules\\fsevents\\node_modules\\getpass\\node_modules\'',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'scandir',
npm ERR! path: 'F:\\demo\\webpack_study\\webpack4.0\\node_modules\\fsevents\\node_modules\\getpass\\node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\m1701\AppData\Roaming\npm-cache\_logs\2018-02-27T08_55_31_944Z-debug.log
有时候即使出现了一个报错,但是貌似还是把依赖安装成功了,但是有时候运气背,就没成功。作为一个靠谱的大前端,不能容忍这种不稳定因素存在,所以楼主去查了一些资料,了解到npm有个很重要的关于缓存的指令,npm cache
npm cache verify
输入后,npm会去校验一些缓存依赖的完整和有效性。我估计报上述错误的原因,就是因为要下载的依赖存在于缓存中,但是不够完整或者有效,所以导致了报错,校验完成之后再下载相关的依赖就不会报这个错误了。