Nicht finden können Modul 'winston'
Schrieb ich ein kleines Modul, das verwendet winston anmelden Sachen.
Ich verwendet sudo npm install -g winston
(es ist auf einer vm...also bin ich nicht allzu besorgt mit sudo, etc.
Log von npm:
winston@0.7.2 /usr/local/lib/node_modules/winston
├── cycle@1.0.2
├── stack-trace@0.0.7
├── eyes@0.1.8
├── colors@0.6.2
├── async@0.2.9
├── pkginfo@0.3.0
└── request@2.16.6 (forever-agent@0.2.0, aws-sign@0.2.0, tunnel-agent@0.2.0, oauth-sign@0.2.0, json-stringify-safe@3.0.0, cookie-jar@0.2.0, node-uuid@1.4.1, mime@1.2.11, qs@0.5.6, hawk@0.10.2, form-data@0.0.10)
Wenn ich versuche, um mein Modul in node, den ich bekommen:
Error: Cannot find module 'winston'
at Function.Module._resolveFilename (module.js:331:15)
at Function.Module._load (module.js:273:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object.<anonymous> (/home/name/Code/neon/neon-js-spike/logger.js:2:9)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:349:32)
at Function.Module._load (module.js:305:12)
at Module.require (module.js:357:17)
System-Versionen:
ubuntu
Knoten v = v0.11.7-pre
npm -v = 1.3.8
P. S. ich habe versucht, diese auf meinem Heim-laptop (ein anderes ubuntu vm) und arbeitete.
- Sie konnte immer installieren winston lokal im gleichen Verzeichnis wie das Programm.
- installieren Sie es lokal funktioniert, aber ich verstehe nicht, wie kommen Sie auf meine anderen vm-Installation weltweit gearbeitet. Vielen Dank für Ihre Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie wahrscheinlich
export NODE_PATH=/usr/local/lib/node_modules
, wo/usr/local/lib/node_modules
ist der Pfad, wo Ihre Knoten-Module sind weltweit installiert.Wenn der Vorschlag von der Einstellung der class-path nicht funktioniert hat, könnte es wahrscheinlich sein, dass Sie verwenden müssen, um einen npm-link. Siehe: http://blog.nodejs.org/2011/04/06/npm-1-0-link/
Für winston springen den root Ordner von deinem script und verwenden Sie den Befehl:
Im Allgemeinen, noch fehlende Module sollten gelöst werden, indem die Einstellung
NODE_PATH
wie @fakewaffle sagt. Vorausgesetzt Sie sind installiert natürlich.Aber für
winston
dies nicht für mich arbeiten. Aus irgendeinem Grund, ich musste die update-Datei Berechtigungen:Ich weiß nicht, warum es die Berechtigungen erhalten, ist falsch eingestellt. Diese Lösung ist für Ubuntu, vermutlich klappt es bei anderen Linux-Versionen, nicht aber Windows.
npm WARNEN [email protected] erfordert ein peer von winston@^2 || ^3, aber keines installiert ist. Sie müssen installieren Sie peer Abhängigkeiten selbst.
und ich entfernt haben node_modules Ordner
und aus npm installieren zu Abhängigkeit. es funktionierte
Hinweis: überprüfen Sie vor dem löschen die, die Sie haben Paket.json
"winston": "^2.4.1",
"winston-täglich-drehen-Datei": "^3.0.0"