node.js - stands - npm tutorial
How to clean node_modules folder of packages that are not in package.json? (6)
Assume I install project packages with
npm install that looks into
package.json for modules to be installed. After a while I see that I don't need some specific module and remove its dependency from
package.json. Then I remove some other modules from
package.json because they are not needed anymore and others are replaced with alternatives.
Now I want to clean
node_modules folder so that only modules listed in
package.json stay there and the rest must go, something like
npm clean. I know I can remove them manually but would like to have some nice ready to use sugar functionality for that.
Due to its folder nesting Windows can’t delete the folder as its name is too long. To solve this, install RimRaf:
npm install rimraf -g rimraf node_modules
First globally install rimraf
npm install rimraf -g
go to the path using cmd where your node_modules folder and apply below command
Have you tried npm prune?
it should uninstall everything not listed in your package file
I think you're looking for
npm prune [<name> [<name ...]]
This command removes "extraneous" packages. If a package name is provided, then only packages matching one of the supplied names are removed.
Extraneous packages are packages that are not listed on the parent package's dependencies list.
See the docs: https://docs.npmjs.com/cli/prune
You could remove your node_modules/ folder and then reinstall the dependencies from package.json.
rm -rf node_modules/ npm install
This would erase all installed packages in the current folder and only install the dependencies from package.json. If the dependencies have been previously installed npm will try to use the cached version, avoiding downloading the dependency a second time.
simple just run
rm -r node_modules
in fact, you can delete any folder with this.
like rm -r AnyFolderWhichIsNotDeletableFromShiftDeleteOrDelete.
just open the gitbash move to root of the folder and run this command
Hope this will help.