node.js - npm global install 给出 EISDIR 警告和 ENOENT 错误
问题描述
我正在尝试使用npm install express-generator -g
. 但是我遇到了错误。
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。我不确定如何解决这个问题。
解决方案
尝试下一个命令: 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”。
推荐阅读
- javascript - React js中的按钮数组
- python - Python 3.6 字符串输入
- codeigniter - 我在 codeigniter 中以三种方式检索表单输入?哪一个是正确的方式
- java - Java - 使用 :: 时函数是否在内部接收参数?
- postgresql-9.5 - 如何执行 Postgresql 查询
- java - 无法使用 Spring Tool Suite 的指定 Gradle 安装创建 Tooling API 实现的实例
- java - jdbc 批量更新在多个语句上失败
- javascript - 字典在 python 中排序,但在 js 中没有
- oracle - ORA-00907:缺少右括号,可能是什么问题?
- python - 将numpy矩阵的列与数组进行比较