2016-04-07 7 views
0

Es gibt einen Fehler in meinen node.js-Projekten, und der Stack-Trace scheint nicht auf eine der Bibliotheken zu verweisen, die ich verwende, gibt es eine einfache Methode, um herauszufinden, welche Pakete von diesem Paket abhängen in meinem node_modules Verzeichnis?Wie finde ich ein lokal installiertes npm-Modul, das von einem bestimmten Modul abhängt?

Im Idealfall wird bei dieser Methode nicht manuell die package.json jedes Moduls in meinem Verzeichnis node_modules überprüft.

Antwort

0

Sie können ein wenig Bash Scripting verwenden diese

who_depends_on() { 
    local dependency=$1; 
    for file in $(ls node_modules); do 
     local match=$(grep $dependency "node_modules/$file/package.json"); 
     if [[ $match ]]; then 
      echo "'$file' is dependant in '$dependency'"; 
     fi 
    done 
} 

die Funktion Setzen zu automatisieren, wo Sie Ihre Shell-Funktionen speichern, und führen Sie dann wie so

who_depends_on "your-package-here" 

Der Haupt Vorbehalt mit diesem Paket Ist es das package.json Paket, das du suchst?

1

Verwenden Sie npm ls <module-name>.

+0

Haben Sie zufällig in letzter Zeit einen Stapelüberlauf in ember-cli bekommen? Ich habe das auch probiert, als eines der Pakete im Stack-Trace, mit dem ich es zu tun hatte ('merge-defaults', benötigt von ember-cli) & keine Würfel. Allerdings hat lodash ähnliche Ergebnisse geliefert – akst

+0

Welche NPM-Version verwenden Sie (das könnte der Unterschied sein)? – akst

Verwandte Themen