Npm 未处理的拒绝错误:EISDIR:目录上的非法操作

Npm 未处理的拒绝错误:EISDIR:目录上的非法操作,npm,npm-install,Npm,Npm Install,当我尝试安装react devtools时,我在Mac上遇到此错误 Hakk-MBP:HelloWorld hakkikonu$ sudo npm install -g react-devtools Unhandled rejection Error: EISDIR: illegal operation on a directory, open '/Users/hakkikonu/.npm/_cacache/index-v5/ad/f6' Unhandled rejection Error:

当我尝试安装react devtools时,我在Mac上遇到此错误

Hakk-MBP:HelloWorld hakkikonu$ sudo npm install -g react-devtools
Unhandled rejection Error: EISDIR: illegal operation on a directory, open '/Users/hakkikonu/.npm/_cacache/index-v5/ad/f6'

Unhandled rejection Error: EISDIR: illegal operation on a directory, open '/Users/hakkikonu/.npm/_cacache/index-v5/da/f2'

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/hakkikonu/.npm/_logs/2019-02-05T14_33_58_146Z-debug.log
Hakk MBP:HelloWorld hakkikonu$sudo npm安装-g react devtools
未经处理的拒绝错误:EISDIR:目录上的非法操作,打开“/Users/hakkikonu/.npm/\u cacache/index-v5/ad/f6”
未经处理的拒绝错误:EISDIR:目录上的非法操作,打开“/Users/hakkikonu/.npm/\u cacache/index-v5/da/f2”
npm错误!我从没打过电话!
npm错误!这是npm本身的一个错误。请通过以下地址报告此错误:
npm错误!
npm错误!此运行的完整日志可在以下位置找到:
npm错误/用户/hakkikonu/.npm/_日志/2019-02-05T14_33_58_146Z-debug.log
npm版本为:6.7.0


原因是什么?

[编辑]

我相信这是正确的解决办法

  • 使用节点版本管理器重新安装npm(推荐)
  • 手动更改npm的默认目录
  • [原始答案]

    警告:这会危及安全!这使得在没有root访问权限的情况下运行的恶意代码有可能将代码写入这些目录,并最终以root身份运行

    从,不要在Mac上以sudo的身份运行:

    sudo chown -R $(whoami) ~/.npm
    sudo chown -R $(whoami) /usr/local/lib
    sudo chown -R $(whoami) /usr/local/bin
    
    然后在没有sudo的情况下重试您的命令。e、 g.(在您的案例中使用devtools)


    这为我解决了升级到npm v6.7.0后的问题

    今天的救命稻草!我把sudo从我的npm环境中拿出来搞得一团糟。。。就这么简单:)谢谢!更改/user/local/bin和/user/local/lib的所有权可能会打开一个安全漏洞,因为您运行(或下载并运行)的任何东西都可以修改bin。正在寻找一个不那么激烈的解决方案。。。。
    npm install -g npm@latest