Supposons que j'installe les packages de projet avec npm install
, qui examine package.json
pour les modules à installer. Au bout d'un moment, je constate que je n'ai pas besoin d'un module spécifique et supprime sa dépendance de package.json
. Ensuite, je supprime certains autres modules de package.json
parce qu'ils ne sont plus nécessaires et que d'autres sont remplacés par des alternatives.
Maintenant, je veux nettoyer le dossier node_modules
afin que seuls les modules répertoriés dans package.json
y restent et que le reste doive disparaître, quelque chose comme npm clean
. Je sais que je peux les supprimer manuellement, mais j'aimerais disposer de fonctionnalités sucre prêtes à l'emploi pour cela.
Je pense que tu cherches npm Prune
npm Prune [<name> [<name ...]]
Cette commande supprime les packages "superflus". Si un nom de package est fourni, seuls les packages correspondant à l'un des noms fournis sont supprimés.
Les packages superflus sont des packages qui ne figurent pas dans la liste des dépendances du package parent.
Voir la documentation: https://docs.npmjs.com/cli/Prune
Vous pouvez supprimer votre dossier node_modules /, puis réinstaller les dépendances à partir de package.json.
rm -rf node_modules/
npm install
Cela effacerait tous les packages installés dans le dossier actuel et installerait uniquement les dépendances de package.json. Si les dépendances ont déjà été installées, npm essaiera d'utiliser la version mise en cache, évitant de télécharger la dépendance une seconde fois.
En raison de l’imbrication des dossiers, Windows ne peut pas supprimer le dossier car son nom est trop long. Pour résoudre cela, installez RimRaf:
npm install rimraf -g
rimraf node_modules
Première installation mondiale de rimraf
npm install rimraf -g
allez dans le chemin en utilisant cmd où se trouve votre dossier node_modules et appliquez la commande ci-dessous
rimraf node_modules
simple suffit de courir
rm -r node_modules
en fait, vous pouvez supprimer n'importe quel dossier avec cela.
comme rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
ouvrez simplement le gitbash allez à la racine du dossier et lancez cette commande
J'espère que cela aidera.
Avez-vous essayé NPM Prune?
il devrait désinstaller tout ce qui ne figure pas dans votre fichier de paquet
Pour les utilisateurs Windows, solution alternative pour supprimer ce dossier répertorié ici: http://ask.osify.com/qa/567
Parmi eux, un outil gratuit: Long Path Fixer est bon d'essayer: http://corz.org/windows/software/accessories /Long-Path-Fixer-for-Windows.php
Supprimez/éditez les paquetages inutiles dans package-lock.json (les noms de paquetages seront écrits sous dépendances et devDependencies), puis
npm install
J'ai ajouté quelques lignes à l'intérieur de 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",
...
}
Si vous voulez uniquement clean
, vous pouvez utiliser ce rimraf node_modules
ou rm -rf node_modules
.
Ça fonctionne bien