How to uninstall npm modules in node js?

2019-01-09 21:19发布

问题:

As commonly known, any npm module can be installed by running a simple command: npm install <module_name>.

I have installed a few modules that I do not use anymore and I just want to get them off. I have a few questions regarding this:

  • Do we have any command or process to uninstall a module from the root (something like npm uninstall <module_name>) or will simply removing the module files do?

  • How does it affect us if we keep the unused modules?

回答1:

The command is simply npm uninstall <name>

The nodejs documents https://npmjs.org/doc/ have all the commands that you need to know with npm.

A local install will be in the node_modules/ directory of your application. This won't affect the application if a module remains there with no references to it.

If you're removing a global package however, any applications referencing it will crash.

Here are different options:

npm uninstall <name> removes the module from node_modules, but not package.json

npm uninstall <name> --save also removes it from dependencies in package.json

npm uninstall <name> --save-dev also removes it from devDependencies in package.json

npm -g uninstall <name> --save also removes it globally



回答2:

If it doesn't work with npm uninstall <module_name> try it globally by typing -g.

Maybe you just need to do it as an superUser/administrator with sudo npm uninstall <module_name>.



回答3:

Well to give a complete answer to this question, there are two methods: (for example we call the installed module as module1)

  1. To remove module1 without changing package.json:

    npm uninstall module1

  2. To remove module1 with changing package.json, and removing it from the dependencies in package.json:

    npm uninstall --save module1

Note: to simplify the above mentioned commands, you can use -S instead of --save , and can use remove, rm, r, un, unlink instead of uninstall



回答4:

I just install stylus by default under my home dir, so I just use npm uninstall stylus to detach it, or you can try npm rm <package_name> out.



回答5:

To uninstall the node module:

npm uninstall <module_name>  

This will remove the module from node_modules, but not from package.json. So when we do npm install again it will download the module.

So to remove the module from package.json use:

npm uninstall <module_name> --save  

This also delete the dependency from package.json.

And if you want to uninstall any globally module you can use:

npm -g uninstall <module_name> --save 

This will delete the dependency globally.



回答6:

I found this out the hard way, even if it is seemingly obvious.

I initially tried to loop through the node_modules directory running npm uninstall module-name with a simple for loop in a script. I found out it will not work if you call the full path, e.g

npm uninstall module-name

was working, but

npm uninstall /full/path/to/node_modules/module-name 

was not working.



回答7:

For Windows Users - If you want to remove all the node modules installed at once:

  • Open powershell
  • Go inside node_modules folder (cd node_modules)
  • Run this command - "npm uninstall (Get-ChildItem).Name"

It will uninstall all the modules.



回答8:

To remove packages in node_modules/ in bulk, you could also remove them from package.json, save it, and then run npm prune on the terminal.

This will remove those packages, which exist in the filesystem, but are not used/declared package.json.

P.S> This is particularly useful on Windows, as you may often encounter problems with being unable to delete some files due to the "exceeded path length limit".



回答9:

# login as root (might be required depending on install)
su - 
# list all global packages
npm ls -g --depth=0
# list all local (project) packages
npm ls -p --depth=0
# remove all global packages
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
# remove all local packges
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node)
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm


回答10:

Use npm uninstall <packageName> --save to uninstall a package and remove it's entry in package.json.

npm uninstall -g <packageName> --save will uninstall the package if it was added globally.



回答11:

The command for uninstalling node module:

npm uninstall <module_name>

This will uninstall module from your local node-module directory, this will not affect application.

But if you are refer to global scope or want to change dependencies in package.json

here are some different options

npm uninstall <module_name> --save to remove module from dependencies in package.json.

npm uninstall <module_name> --save-dev to remove module from devDependencies in package.json.

npm uninstall <module_name> -g --save to remove module globally.

Full documentation with all option, refer npm uninstall



回答12:

Additionally, if you've started using yarn, in place of npm:
yarn remove <package-name>

Is the equivalent of:
npm uninstall <package-name> --save

This will
- remove the package from package.json, as well as
- uninstall it from your project's node-modules folder



回答13:

The uninstall option didn't work for me when I tried to use the same command to the one I used in installing (as I was installing with the @latest directive)

So for example, I installed a package like this:

npm install  @ngtools/webpack@latest

And then I wanted to uninstall it so I used the same command (including @latest)

npm uninstall  @ngtools/webpack@latest

So the above uninstall didn't work, I have to remove the @latest & then it worked well

npm uninstall  @ngtools/webpack

I hope this helps



回答14:

Sometimes npm uninstall -g packageName doens't work.

In this case you can delete package manually.

On Mac go to folder /usr/local/lib/node_modules and delete folder with package you want. That's it. Check your list of globally installed packages with this command npm list -g --depth=0



回答15:

If to want to uninstall a number of module the just run the npm uninstall. Then go to package.json and delete the unwanted module from there, and then just run the command npm install . It should fix your problem.



标签: node.js npm