gpt4 book ai didi

node.js - npm 命令 - 读取错误 : EISDIR: illegal operation on a directory,

转载 作者:搜寻专家 更新时间:2023-10-31 23:58:51 26 4
gpt4 key购买 nike

在发出 npm 命令时,我收到一条错误消息,

Error: EISDIR: illegal operation on a directory, read
TypeError: Cannot read property 'get' of undefined

我在这方面经历过的 SO 帖子(没有解决我的问题):

Using Node.js I get, "Error: EISDIR, read"

Node.JS readFileSync() function

我还尝试编辑 .npmrc 文件以删除 ca 条目,即使在这之后问题仍然存在。

有人可以帮忙吗?

最佳答案

根据个人经验,根据你的错误提示illegal operation on a directory,我猜测是在执行npm时,无法访问目录或文件。

正如其他人所提到的,这通常是与存储 npm 自定义配置的 .npmrc 文件(通常位于用户的主目录 ~/.npmrc 中)相关的错误。重要的是要注意 npm 可以有不同级别的配置:

  • 每个项目
  • 每个用户
  • 全局
  • 内置

您可以在 npmrc documentation page 上阅读有关 .npmrc 可能存在的不同位置以及与 npm 配置文件相关的其他文档的信息。 .

如果您更愿意调查问题的根源而不是仅仅删除您的 .npmrc 文件,您可以通过在文本编辑器(VS 代码、记事本等)中打开 .npmrc 或发出以下命令来实现:

npm config edit

当 .npmrc 在您的文本编辑器中打开时,您可以开始查看您拥有的任何配置。如果该文件为空或不存在,那么您没有任何配置(在那个级别),您可以继续调查另一个级别或问题的其他来源的 .npmrc 配置。

同样,如果您的 .npmrc 文件仅包含以分号 (;) 开头的文本行,则您没有事件配置,因为分号在 .npmrc 中充当注释(非事件)行。在某些情况下,例如,如果您曾经运行过 npm config list,那么 npm 会为您创建一个示例 .npmrc 文件,其中包含要配置的可能设置列表,但所有这些设置都处于非事件状态,因为它们前面有一个分号。下面是运行 npm config list 时 npm 生成的文件片段:

;;;;
; npm userconfig file
; this is a simple ini-formatted file
; lines that start with semi-colons are comments.
; read `npm help config` for help on the various options

;;;;
; all options with default values
;;;;
; access=null

; allow-same-version=false

一旦您确认您的自定义配置在 .npmrc 中处于事件状态,那么导致此错误的一个可能原因可能是您拥有的引用计算机上文件位置的任何自定义配置。在我的例子中,我为 .npmrc 中的 cacert 属性引用了我的 ca 证书的不完整路径:

Broken Configuration:

; settings located in ~/.npmrc
cafile=C:/Users/kfrisbie/Documents/certs

请注意,上面的“certs”是对目录的引用,npm 期望在该目录中引用文件,因此当我更新路径以引用目录中我想要的文件时,npm 再次开始正常运行。

Fixed Configuration:

; settings located in ~/.npmrc
; note, I was missing the name of the file in the certs directory
cafile=C:/Users/kfrisbie/Documents/certs/trusted_certs.pem

关于node.js - npm 命令 - 读取错误 : EISDIR: illegal operation on a directory,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44631383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com