diff options
Diffstat (limited to 'docs/content/commands/npm-explain.md')
-rw-r--r-- | docs/content/commands/npm-explain.md | 73 |
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) |