How to clean node_modules folder of packages that

2019-01-16 00:53发布

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.

8条回答
Evening l夕情丶
2楼-- · 2019-01-16 00:57

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
查看更多
走好不送
3楼-- · 2019-01-16 01:01

Use following command instead of npm install

npm ci
查看更多
手持菜刀,她持情操
4楼-- · 2019-01-16 01:03

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.

查看更多
Anthone
5楼-- · 2019-01-16 01:07

Have you tried npm prune?

it should uninstall everything not listed in your package file

https://npmjs.org/doc/cli/npm-prune.html

查看更多
我命由我不由天
6楼-- · 2019-01-16 01:11

First globally install rimraf

npm install rimraf -g

go to the path using cmd where your node_modules folder and apply below command

rimraf node_modules
查看更多
beautiful°
7楼-- · 2019-01-16 01:15

I think you're looking for npm prune

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

查看更多
登录 后发表回答