如何查看给定npm模块的依赖关系树?

BiA*_*AiB 120 npm

如何将模块树提供给npm,但不能在本地安装?

npm ll做本地安装的包的工作.但它不适用于未安装的模块或全局安装的模块.

我试过npm list bower但不是这样.

Ger*_*osi 100

您可以使用该npm-remote-ls模块.您可以全局安装它:

npm install -g npm-remote-ls
Run Code Online (Sandbox Code Playgroud)

然后打电话:

npm-remote-ls bower
Run Code Online (Sandbox Code Playgroud)

或者,npm@5.2.0安装然后您可以使用npx并避免全局安装命令 - 只需调用:

npx npm-remote-ls bower
Run Code Online (Sandbox Code Playgroud)

  • 如何查看依赖于给定模块的模块? (6认同)
  • 这还需要吗?即使使用较新版本的 npm? (2认同)
  • 对于特定版本,您可以使用此语法 `npm-remote-ls primeng@1.0.0-beta.7` (2认同)
  • @orad:如果已安装,则为npm ls (2认同)

mgt*_*s99 99

您可以使用该命令生成NPM依赖关系树,而无需安装依赖关系

npm list
Run Code Online (Sandbox Code Playgroud)

这将为当前目录中的项目生成依赖关系树,并将其打印到控制台.

您可以获取特定依赖项的依赖关系树,如下所示:

npm list [dependency]
Run Code Online (Sandbox Code Playgroud)

您还可以通过执行设置最大深度级别

npm list --depth=[depth]
Run Code Online (Sandbox Code Playgroud)

请注意,您只能查看已在全局或本地安装到NPM项目的依赖项的依赖关系树.

  • 使用“npm list --prod --all”我能够获得完整的树 (25认同)
  • 你的第二个只打印依赖于[dependency]的包,它不会打印[dependency]的依赖关系.OP还明确表示,这不是他正在寻找的. (8认同)
  • @EdRandall 确实,`npm ls -a` 做得很好。 (8认同)
  • 使用[`-prod`](https://docs.npmjs.com/cli/ls#prod--production)仅列出生产依赖项(并且没有devDependencies). (5认同)
  • npm list和npm ls都读取了node_modules文件夹,如果不先安装依赖项就无法获取树。 (3认同)

Sta*_*ndi 69

此站点允许您将包树视为2D或3D中的节点图.

http://npm.anvaka.com/#/view/2d/waterline

在此输入图像描述

来自@Avanka的精彩作品!

  • 当我在谷歌上搜索"npm print dependency tree":)时,我很高兴看到这个答案.感谢分享! (21认同)
  • 对于私有模块无用 (3认同)
  • 令人惊讶的“ http://npm.anvaka.com/#/view/2d/no-one-left-behind”“取决于npm中的每个软件包”。:D (2认同)

ala*_*tar 23

该命令以树形结构输出所有具有依赖关系的模块:

npm ls -a
Run Code Online (Sandbox Code Playgroud)


gol*_*pot 20

这是无用的官方命令:

npm view <PACKAGE> dependencies
Run Code Online (Sandbox Code Playgroud)

它只打印直接依赖项,而不是整个树.

  • 必须安装包吗?`.\npm view core-js dependencies` 在我的机器上不返回任何内容。 (3认同)
  • @duct_tape_coder 不,不必安装。`core-js` 没有依赖项。 (2认同)

Ale*_*rov 19

您可以使用还显示依赖项统计信息的howfat

npx howfat -r tree jasmine
Run Code Online (Sandbox Code Playgroud)

屏幕截图


msa*_*gel 16

如果你想获得特定包的实际依赖路径并想知道你为什么拥有它,你可以简单地询问yarn why <MODULE>. 例子:

    $> yarn why mime-db
    yarn why v1.5.1
    [1/4] Why do we have the module "mime-db"...?
    [2/4] Initialising dependency graph...
    [3/4] Finding dependency...
    [4/4] Calculating file sizes...
    => Found "mime-db@1.37.0"
    info Reasons this module exists
       - "coveralls#request#mime-types" depends on it
       - Hoisted from "coveralls#request#mime-types#mime-db"
    info Disk size without dependencies: "196kB"
    info Disk size with unique dependencies: "196kB"
    info Disk size with transitive dependencies: "196kB"
    info Number of shared dependencies: 0
    Done in 0.65s.

Run Code Online (Sandbox Code Playgroud)


Yog*_*ngh 10

查看所有关于 npm 模块的元数据

npm view mongoose(module name)
Run Code Online (Sandbox Code Playgroud)

查看模块的所有依赖项

npm view mongoose dependencies
Run Code Online (Sandbox Code Playgroud)

查看所有版本或版本模块

npm view mongoose version
npm view mongoose versions
Run Code Online (Sandbox Code Playgroud)

查看所有关键词

npm view mongoose keywords
Run Code Online (Sandbox Code Playgroud)


pip*_*per 9

yarn list如果您使用的是yarn,那么您可以从项目的根目录开始。它将为您提供所有传递依赖项的树状结构,如下所示:

\n
\xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-core@2.7.4\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 cross-fetch@3.0.6\n\xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80 lru-cache@6.0.0\n\xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-optimizer@2.7.0-alpha.1\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-core@^2.6.0\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-runtime-version@^2.7.0-alpha.1\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-script-csp@^2.5.4\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 @ampproject/toolbox-validator-rules@^2.5.4\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 abort-controller@3.0.0\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 cross-fetch@3.0.5\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 cross-fetch@3.0.5\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80 node-fetch@2.6.0\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 cssnano-preset-simple@1.2.0\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 caniuse-lite@^1.0.30001093\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 postcss@^7.0.32\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x94\xe2\x94\x80 postcss@7.0.35\n\xe2\x94\x82  \xe2\x94\x82     \xe2\x94\x9c\xe2\x94\x80 chalk@^2.4.2\n\xe2\x94\x82  \xe2\x94\x82     \xe2\x94\x9c\xe2\x94\x80 source-map@^0.6.1\n\xe2\x94\x82  \xe2\x94\x82     \xe2\x94\x94\xe2\x94\x80 supports-color@^6.1.0\n
Run Code Online (Sandbox Code Playgroud)\n


小智 5

要将其作为列表获取:

% npx npm-remote-ls --flatten dugite -d false -o false
[
  'dugite@1.91.3',
  'checksum@0.1.1',
  'progress@2.0.3',
  'mkdirp@0.5.5',
  'rimraf@2.7.1',
  'tar@4.4.13',
  'optimist@0.3.7',
  'got@9.6.0',
  'minimist@1.2.5',
  'chownr@1.1.4',
  'glob@7.1.6',
  'fs-minipass@1.2.7',
  'minizlib@1.3.3',
  'minipass@2.9.0',
  'safe-buffer@5.2.1',
  'yallist@3.1.1',
  'wordwrap@0.0.3',
  '@szmarczak/http-timer@1.1.2',
  'cacheable-request@6.1.0',
  '@sindresorhus/is@0.14.0',
  'decompress-response@3.3.0',
  'duplexer3@0.1.4',
  'lowercase-keys@1.0.1',
  'mimic-response@1.0.1',
  'get-stream@4.1.0',
  'to-readable-stream@1.0.0',
  'p-cancelable@1.1.0',
  'url-parse-lax@3.0.0',
  'fs.realpath@1.0.0',
  'inflight@1.0.6',
  'inherits@2.0.4',
  'once@1.4.0',
  'path-is-absolute@1.0.1',
  'minimatch@3.0.4',
  'defer-to-connect@1.1.3',
  'clone-response@1.0.2',
  'get-stream@5.2.0',
  'http-cache-semantics@4.1.0',
  'lowercase-keys@2.0.0',
  'responselike@1.0.2',
  'keyv@3.1.0',
  'pump@3.0.0',
  'prepend-http@2.0.0',
  'normalize-url@4.5.0',
  'wrappy@1.0.2',
  'brace-expansion@1.1.11',
  'json-buffer@3.0.0',
  'end-of-stream@1.4.4',
  'concat-map@0.0.1',
  'balanced-match@1.0.0'
]
Run Code Online (Sandbox Code Playgroud)