2016-08-01 34 views
3

ich drei verschiedene benutzerdefinierte Module erstellt haben.mit lokalen Abhängigkeiten und installieren Sie es in einem anderen Paket

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

I Diese kundenspezifischen Knoten Modul NPM Packung geschaffen Befehl. Das Modul getcorrespondence-1.0.0.tgz hat Abhängigkeiten von zwei weiteren benutzerdefinierten Modulen (getrediscache-1.0.0.tgz, setrediscache-1.0.0.tgz), die lokal erstellt werden.

Das Problem, das ich bin vor, dass, wenn ich versuche getcorrespondence-1.0.0.tgz in einem anderen Knoten Projekt zu installieren, um den Fehler wie unten wirft:

npm installiert getcorrespondence-1.0.0. tgz npm ERR! Addlocal konnte nicht installieren C: \ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz npm ERR! Addlocal konnte nicht installieren 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: \ Programme Dateien \ nodejs \ node.exe" "C: \ Programme Dateien \ nodejs \ node_module \ npm \ bin \ npm-cli.js" "installieren" "getkorrespondence-1.0.0.tgz" Npm ERR! Knoten v6.3.1 npm ERR! npm v3.10.3 npm ERR! Pfad C: \ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz npm ERR! Code ENOENT NPM ERR! errno -4058 npm ERR! syscall offen

npm ERR! ENOENT ENOENT: keine solche Datei oder das Verzeichnis, öffnen 'C: \ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz' npm ERR! enoent ENOENT: Keine solche Datei oder kein solches Verzeichnis, öffnen Sie 'C: \ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ getcorrespondence-1.0.0.tgz \ getrediscache-1.0.0.tgz' npm ERR! enoent Dies ist höchstwahrscheinlich kein Problem mit npm selbst npm ERR! enoent und ist damit verwandt, dass npm keine Datei findet. npm ERR! enoent npm ERR! Bitte geben Sie die folgende Datei an: Supportanfrage: npm ERR! C: \ Repos \ Microservices_APIs \ PaymentsAPI \ CommonAPI.Specs.Unit \ NPM-debug.log

Meine package.json Datei für getcorrespondence-1.0.0.tgz ist:

{ 
    "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" 
    } 
} 

Was Änderungen sind erforderlich, um das Paket korrekt zu installieren.

Nach dem getcorrespondence Paket erstellen, schauen meine tgz-Datei wie:

enter image description here

+0

Ich denke, Sie haben ein veraltetes 'npm' und sollten es aktualisieren, bevor Sie versuchen, den Befehl' npm install' auszugeben. –

+0

Danke für Ihren Vorschlag. Ich habe die Optionen wie ** npm install npm @ neuesten ** und ** npm Cache clean ** ausprobiert. Aber funktioniert es immer noch nicht? – user3041212

+0

Können Sie bitte auch versuchen, eine leere '.npmignore' Datei in Ihren Ordner einzufügen, nachdem Sie die bestehende Datei entfernt haben? (Scheint, Sie haben bereits eine mit 69 Bytes) –

Antwort

0

NPMs Fehler in der Regel frustrierende kryptisch sind. Der relevante Teil in dieser Textwand ist no such file or directory, open 'C:\Repos\Microservices_APIs\PaymentsAPI\CommonAPI.Specs.Unit\getcorrespondence-1.0.0.tgz\getrediscache-1.0.0.tgz', was im Grunde bedeutet, dass npm erwartet, dass die Datei in diesem Pfad existiert, aber nicht.

Ich nehme an, die Ursache ist ein falscher Pfad in Ihrem package.json.