Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/commands/npm-explain.md')
-rw-r--r--docs/content/commands/npm-explain.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/content/commands/npm-explain.md b/docs/content/commands/npm-explain.md
new file mode 100644
index 000000000..83d9a3a1a
--- /dev/null
+++ b/docs/content/commands/npm-explain.md
@@ -0,0 +1,73 @@
+---
+title: npm-explain
+section: 1
+description: Explain installed packages
+---
+
+### Synopsis
+
+```bash
+npm explain <folder | specifier>
+```
+
+### Description
+
+This command will print the chain of dependencies causing a given package
+to be installed in the current project.
+
+Positional arguments can be either folders within `node_modules`, or
+`name@version-range` specifiers, which will select the dependency
+relationships to explain.
+
+For example, running `npm explain glob` within npm's source tree will show:
+
+```bash
+glob@7.1.6
+node_modules/glob
+ glob@"^7.1.4" from the root project
+
+glob@7.1.1 dev
+node_modules/tacks/node_modules/glob
+ glob@"^7.0.5" from rimraf@2.6.2
+ node_modules/tacks/node_modules/rimraf
+ rimraf@"^2.6.2" from tacks@1.3.0
+ node_modules/tacks
+ dev tacks@"^1.3.0" from the root project
+```
+
+To explain just the package residing at a specific folder, pass that as the
+argument to the command. This can be useful when trying to figure out
+exactly why a given dependency is being duplicated to satisfy conflicting
+version requirements within the project.
+
+```bash
+$ npm explain node_modules/nyc/node_modules/find-up
+find-up@3.0.0 dev
+node_modules/nyc/node_modules/find-up
+ find-up@"^3.0.0" from nyc@14.1.1
+ node_modules/nyc
+ nyc@"^14.1.1" from tap@14.10.8
+ node_modules/tap
+ dev tap@"^14.10.8" from the root project
+```
+
+### Configuration
+
+#### json
+
+* Default: false
+* Type: Bolean
+
+Show information in JSON format.
+
+### See Also
+
+* [npm config](/cli-commands/config)
+* [npmrc](/configuring-npm/npmrc)
+* [npm folders](/configuring-npm/folders)
+* [npm ls](/cli-commands/ls)
+* [npm install](/cli-commands/install)
+* [npm link](/cli-commands/link)
+* [npm prune](/cli-commands/prune)
+* [npm outdated](/cli-commands/outdated)
+* [npm update](/cli-commands/update)