Ответ 1
Используйте npm ls
для просмотра списка установленных пакетов.
Как определить, почему установлен конкретный пакет? Другими словами, какой пакет зависит от этого пакета?
Этот пакет является babelify. npm ls
показывает его на верхнем уровне, но он не включен в package.json в любом месте.
Используйте npm ls
для просмотра списка установленных пакетов.
Как вы упоминаете, npm ls
показывает пакеты и их зависимости:
> npm ls leveldown
[email protected] C:\Users\mikem\Code\appless
'-- @architect/[email protected].7.0
'-- [email protected]
'-- UNMET OPTIONAL DEPENDENCY [email protected]
Если npm ls
показывает его на верхнем уровне, а это не зависимость на верхнем уровне package.json
, скорее всего, это ранее требовалось и больше не используется.
Используйте npm prune
, чтобы удалить неиспользованный пакет.
Если вы не можете найти require
или import
, попробуйте посмотреть на child package.json
чтобы узнать, кому он еще нужен.
(Примечание: find
требует Linux/macOS, это не будет работать в Windows)
find. -name package.json -exec grep -l babelify/dev/null {} \;
./node_modules/browserify-zlib/package.json
./node_modules/cssnext/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/reporter/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/@cypress/browserify-preprocessor/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/async/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/babel-core/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/babelify/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/getos/node_modules/async/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/object-assign/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/node_modules/watchify/node_modules/browserify-zlib/package.json
./node_modules/cypress/dist/Cypress.app/Contents/Resources/app/packages/server/package.json
./node_modules/eslint/package.json
./node_modules/extract-text-webpack-plugin/node_modules/async/package.json
./node_modules/getos/node_modules/async/package.json
./node_modules/postcss-modules-extract-imports/package.json
./node_modules/postcss-modules-scope/package.json
./node_modules/webpack/node_modules/async/package.json
Там есть модуль npm-why
который определяет, почему пакет был установлен.
Конечно, если вы используете yarn
, у вас есть встроенная команда yarn why
.