Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fix(docs): clean up npm uninstall docs
Lots of flags removed, clarification on what `--no-save` does,
consolidated examples into a separate section
  • Loading branch information
wraithgar committed Jan 14, 2021
1 parent 4b43656 commit 1135539
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions docs/content/commands/npm-uninstall.md
Expand Up @@ -7,7 +7,7 @@ description: Remove a package
### Synopsis

```bash
npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|-D|--save-dev|-O|--save-optional|--no-save]
npm uninstall [<@scope>/]<pkg>[@<version>]... [--no-save]

aliases: remove, rm, r, un, unlink
```
Expand All @@ -17,40 +17,39 @@ aliases: remove, rm, r, un, unlink
This uninstalls a package, completely removing everything npm installed
on its behalf.

Example:
It also removes the package from the `dependencies`, `devDependencies`,
`optionalDependencies`, and `peerDependencies` objects in your
`package.json`.

```bash
npm uninstall sax
```
Futher, if you have an `npm-shrinkwrap.json` or `package-lock.json`, npm
will update those files as well.

`npm uninstall` takes one optional flag, `--no-save` which will tell npm
not to remove the package from your `package.json`,
`npm-shrinkwrap.json`, or `package-lock.json` files

In global mode (ie, with `-g` or `--global` appended to the command),
it uninstalls the current package context as a global package.
`--no-save` is ignored in this case.

`npm uninstall` takes 3 exclusive, optional flags which save or update
the package version in your main package.json:

* `-S, --save`: Package will be removed from your `dependencies`.

* `-D, --save-dev`: Package will be removed from your `devDependencies`.

* `-O, --save-optional`: Package will be removed from your `optionalDependencies`.
Scope is optional and follows the usual rules for [`scope`](/using-npm/scope).

* `--no-save`: Package will not be removed from your `package.json` file.
### Examples

Further, if you have an `npm-shrinkwrap.json` then it will be updated as
well.
```bash
npm uninstall sax
```

Scope is optional and follows the usual rules for [`scope`](/using-npm/scope).
sax will no longer be in your `package.json`, `npm-shrinkwrap.json`, or
`package-lock.json` files.

Examples:
```bash
npm uninstall sax --save
npm uninstall @myorg/privatepackage --save
npm uninstall node-tap --save-dev
npm uninstall dtrace-provider --save-optional
npm uninstall lodash --no-save
```

lodash will not be removed fromy your `package.json`,
`npm-shrinkwrap.json`, or `package-lock.json` files.

### See Also

* [npm prune](/commands/npm-prune)
Expand Down

0 comments on commit 1135539

Please sign in to comment.