Error: EPERM: operation not permitted, unlink 问题解决记录感言

363 阅读3分钟

最近入职了新单位。新的组里有个产品前端是4个子系统前端,就有4个非常类似的工程。 新工作嘛,新设备,新环境,指定的node版本啥啥都全部指定了。一顿git相关软件、vscode、webstorm最新版,全部重新安装。开始干活~

然后第一个完整活在子系统A,完成了。 第二个活在子系统A的项目版本,gitlab地址都不一样,也过去了。 第三个完整活在子系统B,也弄好了。

现在第四个,小改动,四个工程ABCD都改,以为那不小case嘛。结果到工程C,还没等改呢,就是构建一次过不去,构建一次过不去,cache clean --force了,也白扯。。。就逼着你必须看控制台到底报的啥。。。

贴图,好不容易构建半天,就报这个: fd8f188c-16bc-46d5-a3d4-9a74dd9f1cc7.jpeg

关键信息范围:

npm ERR! code EPERM npm ERR! syscall unlink npm ERR! path D:\WorkInfo\hsa-his-stock-ui\node_modules.staging\echarts-df13195a\map\js\province\guangxi.js npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, unlink 'D:\WorkInfo\XXXXXXXX-ui\node_modules.staging\echarts-df13195a\map\js\province\guangxi.js' npm ERR!

背景:

1,公司有信息安全防护,内网访问外网资源慢。容易构建不过去。 需要切换到自己的手机热点再构建。 2,公司最近刚刚切换了内部资源库服务器ip。 需要检查工程下的.npmrc文件配置的资源库对不对。 3,相似的uiA和uiB工程,虽然当初构建的时候,也出现过不成功,一般情况下采用如下操作,也就成功了。 a,删除本地的package-lock.json b,删除node_modules文件夹 c,npm cache clean --force 强制清除缓存 d,npm i 再构建一次

现在,轮到工程C了。把上述步骤123abcd重复了好几次,白扯了。怎么办搜吧。

解决:

核心问题是文件读写权限相关:

记录下我使用的解决办法:使用管理员权限去运行Git Bash,然后npm i。 1,进入本机安装的Git文件夹,找到[git-bash.exe]文件,右键管理员运行

image.png

2,cd目标工程路径下

image.png

3,npm i执行

image.png

结果是终于Ok了。So,记录下自己的解决过程。

另外

找了几篇参考文章,觉得各位同仁整理的更好。 blog.csdn.net/weixin_4471… juejin.cn/post/720554… blog.csdn.net/weixin_4591…

主要提到的解决方式为, 查看本机node.js安装的文件夹所具有的权限。右键属性编辑权限,把【完全控制/修改】都打钩。

解决问题后的疑惑:

4个相似的工程,虽不完全知道除了业务部分都是啥区别。为啥其他两个工程不会出现这个问题呢。 这个工程C到底是哪里为啥引发的这个问题。暂不明。

自我感言

本人懒人,没有继续分析纠结。 各种原因,现在记忆力有下降趋势。 So,听老祖宗的,好记性不如烂笔头! 目前在尽量让自己勤快些,记录碰到的事情。加油。