Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

npm-explain (1)

Name

npm-explain - Explain installed packages Synopsis npm explain <folder | specifier> alias: why Description This command will print the chain of dependencies causing a given pack- age 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 rela- tionships to explain. For example, running npm explain glob within npm's source tree will show: 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 con- flicting version requirements within the project. $ 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 o Default: false o Type: Boolean Whether or not to output JSON data, rather than the normal output. o In npm pkg set it enables parsing set values with JSON.parse() before saving them to your package.json. Not supported by all npm commands. workspace o Default: o Type: String (can be set multiple times) Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option. Valid values for the workspace config are either: o Workspace names o Path to a workspace directory o Path to a parent workspace directory (will result in selecting all workspaces within that folder) When set for the npm init command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project. This value is not exported to the environment for child processes. See Also o npm help config o npm help npmrc o npm help folders o npm help ls o npm help install o npm help link o npm help prune o npm help outdated o npm help update

Synopsis

Please see following description for synopsis

Description

NPM-EXPLAIN(1)                                                  NPM-EXPLAIN(1)



NAME
       npm-explain - Explain installed packages

   Synopsis
         npm explain <folder | specifier>

         alias: why

   Description
       This command will print the chain of dependencies causing a given pack-
       age 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 rela-
       tionships to explain.

       For example, running npm explain glob within  npm's  source  tree  will
       show:

         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 con-
       flicting version requirements within the project.

         $ 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
       o Default: false

       o Type: Boolean


       Whether or not to output JSON data, rather than the normal output.

       o In npm pkg set it enables parsing set values with JSON.parse() before
         saving them to your package.json.


       Not supported by all npm commands.

   workspace
       o Default:

       o Type: String (can be set multiple times)


       Enable running a command in the context of the configured workspaces of
       the current project while filtering  by  running  only  the  workspaces
       defined by this configuration option.

       Valid values for the workspace config are either:

       o Workspace names

       o Path to a workspace directory

       o Path  to  a  parent workspace directory (will result in selecting all
         workspaces within that folder)


       When set for the npm init command, this may be set to the folder  of  a
       workspace  which does not yet exist, to create the folder and set it up
       as a brand new workspace within the project.

       This value is not exported to the environment for child processes.

   See Also
       o npm help config

       o npm help npmrc

       o npm help folders

       o npm help ls

       o npm help install

       o npm help link

       o npm help prune

       o npm help outdated

       o npm help update




ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------------+
       |ATTRIBUTE TYPE |     ATTRIBUTE VALUE      |
       +---------------+--------------------------+
       |Availability   | runtime/nodejs/nodejs-18 |
       +---------------+--------------------------+
       |Stability      | Pass-thru volatile       |
       +---------------+--------------------------+

NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was   downloaded   from     https://github.com/nodejs/node/ar-
       chive/v18.1.0.zip.

       Further information about this software can be found on the open source
       community website at https://github.com/nodejs/node.



                                  April 2022                    NPM-EXPLAIN(1)