gpt4 book ai didi

node.js - 获取 npm 错误! ENOTDIR : not a directory while installing package which depends on another

转载 作者:搜寻专家 更新时间:2023-10-31 22:25:09 25 4
gpt4 key购买 nike

注意:我有最新的 npm 和 Node 版本。我已经尝试了 npm install error ENOTDIR 中提供的答案但对我不起作用。

我需要在 NodeRed 上安装 2 个 npm 模块作为 .tgz 包

1. x.tgz
2. y.tgz

我可以使用 npm install path/to/x.tgz 安装第一个包

我使用了相同的命令 npm install path/to/y.tgz 命令,但出现以下错误。

malintha@malintha-VirtualBox:~/.node-red$ sudo npm install path/to/y.tgz 

npm ERR! path path/to/y.tgz/x.tgz

npm ERR! code ENOTDIR
npm ERR! errno -20
npm ERR! syscall stat
npm ERR! ENOTDIR: not a directory, stat 'path/to/y.tgz/x.tgz'

根据错误日志,y 模块正在寻找其中的 x.tgz。然后我检查了 y.tgz 工件的 package.json

我可以看到它有 x.tgz 作为它里面的依赖,但是它里面没有 x.tgz。

 "dependencies": {
"@abc/pqr": "file:x.tgz",
"ajv": "^6.5.1",
"debug": "^3.1.0"
}

按照说明,先安装x.tgz再安装y.tgz应该没问题。以前我可以安装这些 xy 但现在我无法安装。

此问题的根本原因可能是什么?这是 npm 和 Node 版本相关的问题吗?

最佳答案

在删除我的旧答案后,我正在重写这个答案。我在 Linux 上使用 Node v11.6.0 和 npm v4.5.0-next.0 对其进行了测试。

为了安装 y.tgz,我尝试如下:

  1. 我将两个 tgz 文件复制到同一目录中。
  2. 我修改了 y.tgz 的 package.json 如下:

    "dependencies": {
    "@abc/pqr": "file:../x.tgz",
    "ajv": "^6.5.1",
    "debug": "^3.1.0"
    }

dependencies 支持file: + 相对路径或绝对路径

所以,你可以选择任何人作为你的发展条件。

关于node.js - 获取 npm 错误! ENOTDIR : not a directory while installing package which depends on another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53869224/

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