Как очистить папку node_modules пакетов, которые не находятся в пакете .json?
Предположим, что я устанавливаю пакеты проекта с npm install
, который смотрит в package.json
для модулей, которые будут установлены. Через некоторое время я вижу, что мне не нужен какой-то конкретный модуль и удалить его зависимость от package.json
. Затем я удаляю некоторые другие модули из package.json
, потому что они больше не нужны, а другие заменяются альтернативами.
Теперь я хочу очистить папку node_modules
, чтобы остались только модули, перечисленные в package.json
, а остальные должны идти, что-то вроде npm clean
. Я знаю, что могу удалить их вручную, но хотел бы иметь неплохую возможность использовать для этого функцию сахара.
Ответы
Ответ 1
Я думаю, что вы ищете npm prune
npm prune [<name> [<name ...]]
Эта команда удаляет "посторонние" пакеты. Если имя пакета При условии, что только пакеты, соответствующие одному из следующих удален.
Посторонние пакеты - это пакеты, которые не указаны на родительский пакет.
Смотрите документы: https://docs.npmjs.com/cli/prune
Ответ 2
Вы можете удалить свою папку node_modules/, а затем переустановить зависимости из package.json.
rm -rf node_modules/
npm install
Это приведет к удалению всех установленных пакетов в текущей папке и только установке зависимостей из package.json. Если ранее были установлены зависимости, npm попытается использовать кешированную версию, избегая второй загрузки загрузки.
Ответ 3
Из-за того, что папка, вложенная в Windows, не может удалить папку, так как ее имя слишком длинное. Чтобы решить эту проблему, установите RimRaf:
npm install rimraf -g
rimraf node_modules
Ответ 4
Сначала глобально установите rimraf
npm install rimraf -g
перейдите к пути, используя cmd, где находится ваша папка node_modules и примените следующую команду
rimraf node_modules
Ответ 5
просто запустить
rm -r node_modules
на самом деле вы можете удалить любую папку с этим.
как rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
просто откройте gitbash перейдите в корень папки и запустите эту команду
Надеюсь, это поможет.
Ответ 6
Вы пробовали обрезать npm?
он должен удалить все, что не указано в вашем файле пакета
https://npmjs.org/doc/cli/npm-prune.html
Ответ 7
Для пользователя Windows альтернативное решение для удаления такой папки, перечисленной здесь: http://ask.osify.com/qa/567
Среди них можно использовать бесплатный инструмент: Long Path Fixer: http://corz.org/windows/software/accessories/Long-Path-Fixer-for-Windows.php
Ответ 8
Удалите/отредактируйте пакеты, которые не нужны в package-lock.json (имена пакетов будут записаны в зависимости и devDependencies), а затем
npm install
Ответ 9
Я добавил несколько строк в package.json:
"scripts": {
...
"clean": "rmdir /s /q node_modules",
"reinstall": "npm run clean && npm install",
"rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",
...
}
Если вы хотите clean
только вы можете использовать этот rimraf node_modules
или rm -rf node_modules
.
Работает нормально
Ответ 10
Используйте следующую команду вместо npm install
npm ci