2016-04-07 2 views
0

В моих проектах node.js возникает ошибка, и трассировка стека, похоже, не обращается к какой-либо из библиотек, которые я использую, есть простой способ выяснить, какие пакеты зависят от этого пакета в моем node_modules каталоге?Как найти локально установленный модуль npm, который зависит от определенного модуля?

В идеале этот метод не требует ручной проверки package.json каждого модуля в моем каталоге node_modules.

ответ

0

Вы можете использовать немного Баш сценариев, чтобы автоматизировать этот

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 
} 

Поместите функцию, где вы храните свои функции оболочки, а затем запустить как так

who_depends_on "your-package-here" 

Основной нюанс с этим пакетом он подберет пакет package.json, который вы ищете.

1

Использование npm ls <module-name>.

+0

Возможно, вы случайно получили переполнение стека в ember-cli? Также я пробовал это, когда один из пакетов в трассировке стека, с которыми я имел дело ('merge-defaults', требуемый ember-cli) и без кости. Однако lodash действительно дал аналогичные результаты – akst

+0

Какая версия NPM вы используете (это может быть разница)? – akst

Смежные вопросы