【问题标题】:npm global install gives EISDIR warnings and ENOENT errornpm global install 给出 EISDIR 警告和 ENOENT 错误
【发布时间】:2019-01-04 04:04:54
【问题描述】:

我正在尝试使用 npm install express-generator -g 安装 express-generator。但是我遇到了错误。

WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/ejs-2de19af3/lib'026584d.lock for /usr/local/lib/node_modules/.staging
WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/sorted-object-b497dff3/lib'
WARN tar EISDIR: blah blah many more lines like this
WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/mkdirp-f65a1b18/test'

npm ERR! path /usr/local/lib/node_modules/express-generator/node_modules/mkdirp/bin/cmd.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/express-generator/node_modules/mkdirp/bin/cmd.js'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xXc00lUs3rXx/.npm/_logs/2019-01-04T03_45_41_388Z-debug.log

我不确定 EISDIR 警告是关于什么的,但对于 ENOENT chmod 错误,它正在尝试访问 /usr/local/lib/node_modules/express-generator/ 但没有这样的目录。

我在 Mac 上运行 npm。我不确定如何解决这个问题。

【问题讨论】:

  • 你使用的是哪个 npm 版本?你在用莫哈韦吗?对于任何全局安装,我都会遇到相同的错误

标签: node.js npm npm-install express-generator


【解决方案1】:

尝试下一个命令: 1)sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} 它将 lib/node_modules,bin,share 的所有者更改为您的 macos 用户 2)npm install express-generator -g 第一步后,在全局安装时无需使用“sudo”。

【讨论】:

    【解决方案2】:

    我只是在同一条船上。你运行的是什么版本的 NPM?根据this 线程,NPM@6.5 可能导致全局 NPM 安装失败。我在尝试降级到 NPM@6.4.1 时遇到了更多错误,最终卸载并重新安装了 Node。我又回到了 NPM@6.5,一切都恢复正常了。

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2020-02-20
      • 2018-02-26
      • 2019-04-05
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      相关资源
      最近更新 更多