我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

苏南大叔在安装electron项目依赖的时候,忽然出现了一个非常神奇的错误。大概的报错信息是这样的:EISDIR: illegal operation on a directory。本以为是个sudo级别的问题,多次尝试之后,结果悲剧的发现失败了。那么如何解决这个问题呢?请查看苏南大叔的解决方案。

苏南大叔:如何处理npm错误:EISDIR: illegal operation on a directory - npm-issue-hero
如何处理npm错误:EISDIR: illegal operation on a directory(图5-1)

本文描述的环境是macwin下的类似错误,并不是这样解决的。在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'

苏南大叔:如何处理npm错误:EISDIR: illegal operation on a directory - npm-error-01
如何处理npm错误:EISDIR: illegal operation on a directory(图5-2)

结果使用了sudo,甚至sudo --unsafe-perm居然都没有解决问题,怀疑人生啊。

解决方案

因为是在mac系统下,所以网上流传的win下转换硬盘格式的方式,是不适用的。根据经验值来说的话,如果一个issue经常出现,但是网上官方居然没有给出标准解决方案,那么就意味着,这个问题并不是由它引起的。解决方案就要不走寻常路了。

所以,苏南大叔联想了一下,最近关于npm的操作。最近好像升级了npm的版本... 然后就悲剧了。所以,解决方案就是:重装npm/node。所以,苏南大叔下载了截至到发稿最新版本的node@10.15.3pkg包。安装后,顺利解决问题。

苏南大叔:如何处理npm错误:EISDIR: illegal operation on a directory - nodejs-mac-pkg
如何处理npm错误:EISDIR: illegal operation on a directory(图5-3)

后续文章

当然,升级node后,npm i虽然没有EISDIR的问题了,但是还会出现permission权限问题。解决方案就是:

sudo npm i --unsafe-perm

苏南大叔:如何处理npm错误:EISDIR: illegal operation on a directory - npm-error-02
如何处理npm错误:EISDIR: illegal operation on a directory(图5-4)

苏南大叔:如何处理npm错误:EISDIR: illegal operation on a directory - npm-error-03
如何处理npm错误:EISDIR: illegal operation on a directory(图5-5)

更详细的内容,可以参见下面这个链接:

结束语

mac下,执行这个最简单常见的npm i,还会有这么多的异常事件,真心是不省心啊。更多苏南大叔的npm相关经验文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   npm    electron