NPM 卡住给出相同的错误 EISDIR: Illegal operation on a directory, read at error (native)

新手上路,请多包涵

无论我在哪个目录中,以及我在 cmd.exe 中的“npm”之后键入的内容,我都会遇到此错误。这是 npm-debug.log:

 0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js' ]
2 info using npm@2.14.12
3 info using node@v4.2.6
4 verbose stack Error: EISDIR: illegal operation on a directory, read
4 verbose stack     at Error (native)
5 verbose cwd C:\Users\me
6 error Windows_NT 6.1.7601
7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
8 error node v4.2.6
9 error npm  v2.14.12
10 error code EISDIR
11 error errno -4068
12 error syscall read
13 error eisdir EISDIR: illegal operation on a directory, read
13 error eisdir This is most likely not a problem with npm itself
13 error eisdir and is related to npm not being able to find a package.json in
13 error eisdir a package you are trying to install.
14 verbose exit [ -4068, true ]

我曾多次尝试卸载/重新安装 nodejs,甚至删除了 C:\Users\me\AppData\Roaming 中的 npm 和 npm-cache 文件夹。我不确定是什么问题导致了这种情况。一秒钟它工作正常,现在我无法摆脱这个错误。日志中的解释没有意义,因为它在任何目录中都会出现此错误。我应该注意,以管理员身份运行命令提示符不会出现此错误。这个星期五晚上我要把头发拉出来试图解决这个问题,任何帮助将不胜感激!

原文由 AnotherMike 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 4.3k
2 个回答

我在更改一些 npm 设置时遇到了同样的问题。我在一个 npm config set 命令上犯了一个错误,这在 C:\Users\{User}\.npmrc 中添加了一个引用不存在目录的行。在我从 .npmrc 手动删除该行后,问题就消失了。

原文由 user1460043 发布,翻译遵循 CC BY-SA 3.0 许可协议

EISDIR 代表“ 错误,是目录”。这意味着 NPM 正试图对一个文件做一些事情,但它是一个 _目录_。在你的例子中,NPM 试图“ _读取_”一个目录文件(第 4 行)。由于无法完成操作,因此抛出错误。

这里要确定三件事。

  1. 确保文件存在。如果没有,则需要创建它。 (如果 NPM 依赖于文件中的任何特定信息,您将需要在该文件中包含该信息)。
  2. 确保它实际上是一个文件而不是目录。
  3. 它具有正确的权限。您可以使用“sudo chmod 777 FILE_NAME”更改文件以拥有所有权限。 (注意:您正在为该文件中的每个人授予读、写和执行权限)

原文由 MauricioLeal 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题