Ich habe versucht, ein Upgrade phonegap
durchzuführen, npm
als ich auf Probleme stieß. Kurz gesagt, es gibt zwei node_modules
Verzeichnisse auf meinem Computer.
/usr/local/lib/node_modules
/usr/local/share/npm/lib/node_modules
Beim Ausführen npm upgrade -g phonegap
wird anscheinend npm
die Kopie des Pakets aktualisiert, in dem sich das Paket befindet /usr/local/lib/node_modules
. Wenn ich jedoch which phonegap
finde, 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_modules
Verzeichnis 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,$PATH
wenn Software installiert wird?
Bonuspunkte: node
Beeinflusst 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_profile
wurde mit /usr/local/share/npm/bin
vor /usr/local/bin
in 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_modules
Verzeichnissen auf meinem Computer gekommen und warum sollte ich meine node_modules
im share/npm/lib
Unterverzeichnis haben wollen, anstatt direkt in /usr/local/lib
?