Ich habe versucht, ein Upgrade phonegapdurchzuführen, npmals ich auf Probleme stieß. Kurz gesagt, es gibt zwei node_modulesVerzeichnisse auf meinem Computer.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Beim Ausführen npm upgrade -g phonegapwird anscheinend npmdie Kopie des Pakets aktualisiert, in dem sich das Paket befindet /usr/local/lib/node_modules. Wenn ich jedoch which phonegapfinde, dass der Symlink auf die ältere Installation unter verweist /usr/local/share/npm/lib/node_modules.
Wenn ich versuche, ein eigenständiges Paket wie z. B. zu installieren express, werden die Dateien im /usr/local/lib/node_modulesVerzeichnis installiert , aber an keiner Stelle in meinem Verzeichnis wird ein Symlink zur ausführbaren Datei erstellt $PATH.
Zwei Fragen:
- Welches ist das richtige Verzeichnis für Knotenmodule unter Mac OS X?
Wie kann ich konfigurierennpm, dass ausführbare Dateien in meinem verknüpft werden,$PATHwenn Software installiert wird?
Bonuspunkte: nodeBeeinflusst die Installationsmethode die Konfiguration? Es gibt viele Möglichkeiten .
BEARBEITEN : Ich habe herausgefunden, dass Symlinks in meinem erstellt wurden /usr/local/bin, aber mein .bash_profilewurde mit /usr/local/share/npm/binvor /usr/local/binin meinem eingerichtet $PATH. Ich erinnere mich vage, dass ich diesen Pfad irgendwann zu meinem Profil hinzugefügt habe, aber ich bin mir nicht sicher, warum.
Nun stellt sich die Frage: Wie bin ich zu zwei verschiedenen node_modulesVerzeichnissen auf meinem Computer gekommen und warum sollte ich meine node_modulesim share/npm/libUnterverzeichnis haben wollen, anstatt direkt in /usr/local/lib?