如何处理npm错误:EISDIR: illegal operation on a directory
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
苏南大叔在安装electron
项目依赖的时候,忽然出现了一个非常神奇的错误。大概的报错信息是这样的:EISDIR: illegal operation on a directory
。本以为是个sudo
级别的问题,多次尝试之后,结果悲剧的发现失败了。那么如何解决这个问题呢?请查看苏南大叔的解决方案。
本文描述的环境是mac
,win
下的类似错误,并不是这样解决的。在win
下,据说需要转换硬盘格式。但是因为苏南大叔并没有在win
下碰到相同的错误提示。所以,这里不便发表观点,大家自行尝试。
问题描述
在mac
系统下,尝试执行npm i
的时候,出现了报错信息,类似下面这样:
npm WARN tar EISDIR: illegal operation on a directory, open '/code/electron/1/electron-quick-start-master/node_modules/.staging/ajv-1cb7355f/lib/dot'
结果使用了sudo
,甚至sudo --unsafe-perm
居然都没有解决问题,怀疑人生啊。
解决方案
因为是在mac
系统下,所以网上流传的win
下转换硬盘格式的方式,是不适用的。根据经验值来说的话,如果一个issue
经常出现,但是网上官方居然没有给出标准解决方案,那么就意味着,这个问题并不是由它引起的。解决方案就要不走寻常路了。
所以,苏南大叔联想了一下,最近关于npm
的操作。最近好像升级了npm
的版本... 然后就悲剧了。所以,解决方案就是:重装npm
/node
。所以,苏南大叔下载了截至到发稿最新版本的node@10.15.3
的pkg
包。安装后,顺利解决问题。
后续文章
当然,升级node
后,npm i
虽然没有EISDIR
的问题了,但是还会出现permission
权限问题。解决方案就是:
sudo npm i --unsafe-perm
更详细的内容,可以参见下面这个链接:
结束语
在mac
下,执行这个最简单常见的npm i
,还会有这么多的异常事件,真心是不省心啊。更多苏南大叔的npm
相关经验文章,请点击:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。