Есть ли команда для удаления всех глобальных модулей npm? Если нет, что вы предлагаете?
381
Следующая команда удаляет все глобальные модули npm. Примечание: это не работает в Windows. Для работающей версии Windows, см . Ответ Олли Беннетта .
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
Вот как это работает:
npm ls -gp --depth=0
выводит список всех глобальных модулей верхнего уровня (см. документацию по cli для ls )awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'
печатает все модули, которые на самом деле не являются npm (не заканчиваются /npm
)xargs npm -g rm
удаляет все модули глобально, которые приходят по предыдущему каналу
awk -F' |@' '/@/ {if ($(NF-1) != "npm") {print $(NF-1)}}'
Объяснение: разделить пробелами или @, сопоставлять только строки с @, имя модуля будет соответствовать последнему совпадению ($(NF-1)
), поэтому печатать только если это не такnpm
Для тех, кто использует Windows , самый простой способ удалить все глобально установленные пакеты npm - это удалить содержимое:
C:\Users\username\AppData\Roaming\npm
Вы можете быстро туда добраться, набрав
%appdata%/npm
в проводнике, в командной строке или в меню «Пуск».источник
%USERPROFILE%\AppData\npm
безroaming
.npm install
снова. Я должен был также удалить свойpackage-lock.json
файл.Я попробовал решение Кая Стернада , но оно показалось мне несовершенным. После самого последнего
awk
дерева deps осталось много специальных символов .Итак, я придумал собственную модификацию решения Кая Стернада (с небольшой помощью от идеи кашемира ):
npm ls -gp --depth=0
перечисляет все глобально установленные модули npm в разбираемом формате:awk -F/node_modules/ '{print $2}'
извлекает имена модулей из путей, формируя список всех глобально установленных модулей.grep -vE '^(npm|)$'
удаляет сам npm и пустые строки.xargs -r npm -g rm
вызовыnpm -g rm
для каждого модуля в списке.Как и решение Kai Sternad , оно будет работать только под * nix.
источник
npm
все его глобальные модули устанавливаются в один каталог. Точное местоположение может отличаться, но обычно это так/usr/local/lib/node_modules
.npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm)$' | xargs npm -g rm
@angular/cli
). Я добавляю еще один сопоставитель для,awk
и рабочая команда для меня выглядит следующим образом:npm ls -gp --depth=0 | awk -F/ '/node_modules\/@/ {print $(NF-1)"/"$NF} /node_modules\/[^@]/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
работал на меня
sudo npm list -g --depth=0.
список всех установленных верхних уровнейawk -F ' ' '{print $2}'
избавляется от ├──awk -F '@' '{print $1}'
получает роль до '@'sudo xargs npm remove -g
удаляет пакет глобальноисточник
npm remove UNMET
делает NOOP.grep -v npm
чтобы сам npm не удалялся:sudo npm list -g --depth=0. | grep -v npm | awk -F ' ' '{print $2}' | awk -F '@' '{print $1}' | sudo xargs npm remove -g
Для тех, кто использует Powershell :
Чтобы очистить кеш:
источник
Просто переключитесь в свой
%appdata%/npm
каталог и выполните следующее ...РЕДАКТИРОВАТЬ: Эта команда прерывается с npm 3.3.6 (Node 5.0). Сейчас я использую следующую команду Bash, которую я сопоставил с npm_uninstall_all в моем файле .bashrc:
Добавлен бонус? это намного быстрее!
https://github.com/npm/npm/issues/10187
Как удалить все зависимости, перечисленные в package.json (NPM)?
источник
npm
иn
передtr
в Windows перейдите в каталог «C: \ Users {имя пользователя} \ AppData \ Roaming» и вручную удалите папку npm
источник
Если вы хотите удалить все установленные вами пакеты, вы можете использовать
npm -g ls
команду, чтобы найти их, а затемnpm -g rm
удалить их.источник
Если у вас установлен jq , вы можете работать даже без grep / awk / sed:
На Debian и производных вы можете установить jq с помощью:
источник
json
стилем.npm ls -g --json --depth=0 | jq -r '.dependencies|keys-["npm"]|join("\n")' | xargs sudo npm rm -g
ОС не указана в ОП. В Windows этот сценарий можно использовать для обнуления локальных и глобальных модулей и кеша пользователя.
В linux я заметил, что глобальный корень действительно глобален для системы, а не для данного пользователя. Поэтому удаление глобального корня может быть не очень хорошей идеей для общей системы. Помимо этого, я могу перенести скрипт на bash, если заинтересован.
Для Windows сохраните в файл cmd для запуска.
источник
Используйте этот код для удаления любого пакета:
источник
Все, что вы сделали хорошую работу. Это объединенные предложения в одной строке кода.
Какая разница? Удаление будет выполнено одной командой:
npm rm -g *** *** ***
источник
Вы можете найти все установленные пакеты npm по адресу:
и удалите содержимое npm, которое вы хотите удалить.
Если AppData не отображается, это означает, что он скрыт, и вы можете перейти к просмотру в проводнике и проверить скрытые элементы, тогда вы сможете увидеть все скрытые папки.
источник
Хорошо, если вы находитесь в Windows и хотите удалить / удалить все node_modules, то вам нужно выполнить следующие шаги.
Введите команду ниже и дайте ей в течение 1-2 минут, она удалит все каталоги внутри node_module
Надеюсь, это поможет кому-то на Windows
источник
если у вас есть Intellij Webstorm, вы можете использовать встроенный графический менеджер пакетов.
откройте его как root и создайте проект emtpy. перейти к
там вы увидите все установленные пакеты. Деинсталляция проста, вы можете выбрать и отменить выбор любого пакета, который вы хотите удалить, а также Ctrl + a woks.
источник
За
yarn global
Или, если вам все равно, что на самом деле внутри
package.json
Это должно относиться и к NPM, но я не совсем уверен, где хранится NPM global.
источник
источник
Так как это лучший ответ в поиске, я выкладываю это здесь, так как это было решение, которое я использовал в прошлом для чистки компьютеров, переключающих ноутбуки.
источник: https://winsmarts.com/delete-all-node-modules-folders-recursively-on-windows-edcc9a9c079e
источник
Вот более элегантное решение, которое я попробовал, когда я позволил npm сделать всю работу за меня.
Тогда , если вы
npm uninstall
илиnpm remove
эти модули будут рассматриваться как если бы они были нормальными зависимости от проекта. Он даже генерирует файл package-lock.json, когда это будет сделано:источник
сед раствор
источник
Просто вставьте в вашу консоль:
Список sudo npm -g --depth = 0. | awk -F '' '{print $ 2}' | awk -F '@' '{print $ 1}' | sudo xargs npm удалить -g
Его работа для меня ...
источник