2016-08-01 51 views
3

我創建了三個不同的自定義模塊。使用本地依賴項創建本地npm包並將其安裝在另一個包中

  1. getcorrespondence-1.0.0.tgz
  2. getrediscache-1.0.0.tgz
  3. setrediscache-1.0.0.tgz

我創建使用NPM包這些自定義節點模塊命令。模塊getcorrespondence-1.0.0.tgz依賴於另外兩個在本地創建的自定義模塊(getrediscache-1.0.0.tgz,setrediscache-1.0.0.tgz)。

,我面臨的問題是,當我嘗試安裝getcorrespondence-1.0.0.tgz的另一個節點項目,它會引發如下錯誤:

NPM安裝getcorrespondence-1.0.0。 tgz npm ERR! addLocal無法安裝 C:\ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz npm ERR! addLocal無法安裝 C:\ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ setrediscache-1.0.0.tgz npm 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:\ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz npm ERR!代碼ENOENT npm ERR! errno -4058 npm ERR!系統調用打開

npm ERR! enoent ENOENT: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 ERR! enoent ENOENT: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 ERR! enoent這很可能不是npm本身的問題npm ERR!並且與npm無法找到文件有關。 npm ERR! 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文件看起來像:

enter image description here

+0

我想,你有一個過時的'npm',應該在你嘗試發出'npm install'命令之前更新它。 –

+0

感謝您的建議。我已經嘗試過像** npm install npm @ latest **和** npm cache clean **這樣的選項。但是它仍然不起作用。 – user3041212

+0

另外,你可以嘗試添加一個空白的'.npmignore'文件刪除現有的文件夾後?(看起來你已經有一個69字節) –

回答

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中的路徑不正確。

相關問題