Почему "npm prune" не удаляет папки из node_modules?

У меня есть package.json со всеми моими devDependencies.

Я понял, что если я удалю зависимость и запустим npm prune, node удалит папку модуля с node_modules. Это самый простой способ сохранить мою папку node_modules.

Из docs:

npm чернослив

Удаление посторонних пакетов

Эта команда удаляет "посторонние" пакеты.

Посторонние пакеты - это пакеты, которые не указаны в родительском список зависимостей пакетов.

Однако иногда даже после запуска npm prune у меня все еще есть папка модуля в node_modules.

Почему это происходит и каков правильный способ удаления неиспользуемых модулей?

Ответы

Ответ 1

Согласно документация

Если указан флаг --production, эта команда удалит пакетов, указанных в devDependencies.

Итак, если вы хотите избавиться от папки модуля в node_modules, указанной в devDependencies, вы должны выполнить

npm prune --production

Ответ 2

После запуска:

npm ls

Я вижу:

npm ERR! extraneous: [email protected] /path/to/package

Тогда, когда я сделал:

npm prune

Пакет был удален.