Ich suche nach einem Befehl, der die Namen der globalen Module npm link
auflistet, die ich für lokale Kopien verwendet habe, sowie den lokalen Pfad.
In der Tat wäre eine Liste aller global installierten Module sogar noch besser, npm link
wenn die d irgendwie markiert wären .
npm -g ls
sollte alle globalen Module auflisten, aber ich weiß nicht, ob es verknüpfte Modulenpm link
'd. Ich brauche einen Weg, um den Überblick zu behalten.Antworten:
Haben Sie versucht, nur den
node_modules
Verzeichnisinhalt aufzulisten (z. B.ls -l node_modules | grep ^l
)? Sie sind normale Symlinks.Wenn Sie wirklich alle Symlinks finden müssen, können Sie so etwas versuchen
find / -type d -name "node_modules" 2>/dev/null | xargs -I{} find {} -type l -maxdepth 1 | xargs ls -l
.quelle
( ls -l node_modules ; ls -l node_modules/@* ) | grep ^l
ls -l -R ./node_modules | grep ^l
Dies funktioniert, um alle global verknüpften Module aufzulisten (Dokumentation https://docs.npmjs.com/cli/ls ):
Ich musste jedoch zuerst die Version von npm auf meinem Computer aktualisieren:
quelle
--link=true
. Meine Umgebung: Win10, NVM = 1.1.7, aktueller Knoten = 8.14.0npm unlink <package> -g
Eine bessere Alternative zum Parsen
ls
ist folgendefind
:Sie können
-maxdepth 1
nur die erste Verzeichnisebene verarbeiten:Sie können
-ls
für zusätzliche Informationen verwenden.Zum Suchen von Knotenmodulen, die mit npm verknüpft sind:
Hier ist ein Artikel, warum das Parsen
ls
nicht die beste Idee istquelle
Wenn Sie eine schöne farbige Ausgabe von möchten
npm list
, mögen Sie vielleicht:was in meinem aktuellen Spielplatz dir gibt:
Es werden einige Annahmen getroffen, aber es sollte in den meisten Fällen funktionieren oder sich mit den folgenden Erläuterungen leicht anpassen lassen.
\ls
diese Option, um mögliche Aliase in Ihremls
Befehl zu umgehen-F
Option fügt ein '@' für Links hinzused
Befehl wählt diese Links aus und entfernt die Anzeigexargs
Teil übergibt die vorherige Ausgabe als Argumente annpm ...
npm
wird aufgerufen mitlist
oderls
um Module mit Versionen aufzulistenll
, um Details zu jedem aufgelisteten Modul zu erhalten.-g
für die globalen Module und--depth 0
für eine flache Auflistung (optional)--long false
(Standard mit 'Liste').Problem: Aus irgendeinem Grund gibt npm im Moment überflüssige Einträge für mich (nicht farbig). Es wären diejenigen, die ich " npm unlink " ed hatte.
Für " eine Liste aller global installierten Module " im aktuellen npm-Pfad tun Sie dies einfach
Für weitere Bedürfnisse möchten Sie vielleicht einen Blick darauf werfen
Sie können Symlinks nur dann rückwärts folgen, wenn Sie Ihr gesamtes Dateisystem scannen und (dann ist das keine npm-spezifische Frage).
Um Dateien und Verzeichnisse schnell nach Namen zu finden, verwende ich
locate
einen Index, der normalerweise einmal am Tag neu erstellt wird.und beginnen Sie von dort aus zu arbeiten (möglicherweise möchten Sie die Suche mit der
--regexp
Option verfeinern .quelle
-g
, um meine lokalen / nächsten vorübergehenden Abhängigkeitsverknüpfungen zu erhalten. Vielen Dank!Ich habe diese Frage gefunden, nachdem ich auch mein eigenes Tool geschrieben habe. Der Vollständigkeit halber hier: npm-list-linked .
Es wird auch rekursiv allen verknüpften Paketen in der Hierarchie folgen. Bei meiner Arbeit haben wir manchmal
npm link
2-3 Ebenen Tiefe und auf diese Weise können Sie genau sehen, welche lokal sind und welche nicht, um Überraschungen zu vermeiden.quelle
Ich habe ein Node.js-Modul erstellt, mit
fs
dem nach Symlinks gesucht wird, die vonnpm link
oder auf andere Weise erstellt wurden.https://www.npmjs.com/package/symlinked
quelle
Ich sehe, dass ich und andere oft dieselbe Frage haben. Ich habe eine kleine CLI für mich geschrieben
link-status
, um diese Informationen anzuzeigen. Sie kann auch anderen helfen! Schau es dir hier an!quelle
um globale Links anzuzeigen, einschließlich Pakete mit Namespace.
@ Andrews Antwort funktioniert manchmal:
Aber bei einigen Gelegenheiten sind Peer-Dep-Fehler für mich in die Luft gesprengt worden. Hoffe das hilft jemandem!
quelle