注意:我有最新的npm和节点版本.我已经尝试了npm安装错误ENOTDIR中提供的答案,但对我没有用.
我需要在NodeRed上安装2个npm模块作为.tgz包
1. x.tgz
2. y.tgz
Run Code Online (Sandbox Code Playgroud)
我可以使用安装第一个包 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'
Run Code Online (Sandbox Code Playgroud)
根据错误日志,y模块正在其中查找x.tgz.然后,我检查了package.json的y.tgz假象.
我可以看到它x.tgz内部有依赖,但它里面没有x.tgz.
"dependencies": {
"@abc/pqr": "file:x.tgz",
"ajv": "^6.5.1",
"debug": "^3.1.0"
}
Run Code Online (Sandbox Code Playgroud)
根据说明,如果我安装x.tgz然后安装y.tgz应该没问题.我可以安装这些x和y一些时间,但现在我无法安装它.
可能是这个问题的根本原因是什么?这个npm和节点版本是否相关?
删除旧答案后,我正在重写这个答案。我在 Linux 上使用 Node v11.6.0 和 npm v4.5.0-next.0 对其进行了测试。
要安装 y.tgz,我尝试如下:
我package.json对 y.tgz 进行了如下修改:
"dependencies": {
"@abc/pqr": "file:../x.tgz",
"ajv": "^6.5.1",
"debug": "^3.1.0"
}
Run Code Online (Sandbox Code Playgroud)dependencies支持file:+相对路径或绝对路径。
所以,你可以选择任何人作为你的发展条件。
| 归档时间: |
|
| 查看次数: |
389 次 |
| 最近记录: |