我创建了三个不同的自定义模块。
我使用 npm pack 命令创建了这些自定义节点模块。模块getcorrespondence-1.0.0.tgz依赖于另外两个在本地创建的自定义模块(getrediscache-1.0.0.tgz,setrediscache-1.0.0.tgz)。
我面临的问题是,当我尝试在另一个节点项目中安装getcorrespondence-1.0.0.tgz时,它会抛出错误,如下所示:
npm install getcorrespondence-1.0.0.tgz npm ERR! addLocal无法安装 C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz 错误的ERR! addLocal无法安装 C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ setrediscache-1.0.0.tgz 错误的ERR! Windows_NT 10.0.10240 npm ERR! argv“C:\ Program Files \ nodejs \ node.exe“”C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js“”install“ “getcorrespondence-1.0.0.tgz”npm ERR!节点v6.3.1 npm ERR! NPM v3.10.3 npm ERR!路径 C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz 错误的ERR!代码ENOENT npm ERR! errno -4058 npm ERR!系统调用打开
npm ERR! enoent ENOENT:没有这样的文件或目录,打开 'C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz' 错误的ERR! enoent ENOENT:没有这样的文件或目录,打开 'C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz' 错误的ERR! enoent这很可能不是npm本身的问题 呃! enoent并且与npm无法找到文件有关。 NPM 呃! enoent npm ERR!请包含以下文件 支持请求:npm ERR! C:\回购\ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ NPM-的debug.log
我的getcorrespondence-1.0.0.tgz的package.json文件是:
{
"name": "getcorrespondence",
"version": "1.0.0",
"description": "Get Correspondence Module",
"author": {
"name": "XYZ",
"email": ""
},
"dependencies": {
"getrediscache": "file:./getrediscache-1.0.0.tgz",
"jslinq": "^1.0.15",
"setrediscache": "file:./setrediscache-1.0.0.tgz",
"soap": "^0.16.0"
}
}
正确安装软件包需要进行哪些更改。
创建getcorrespondence包后,我的tgz文件如下所示:
答案 0 :(得分:0)
NPM的错误通常令人沮丧地神秘。该文本墙中的相关部分是no such file or directory, open 'C:\Repos\Microservices_APIs\PaymentsAPI\CommonAPI.Specs.Unit\getcorrespondence-1.0.0.tgz\getrediscache-1.0.0.tgz'
,这基本上意味着npm期望文件存在于该路径中,但事实并非如此。
我认为package.json
中的原因路径不正确。