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

如何查看给定npm模块的依赖关系树?,npm,Npm,如何获取npm可用但未在本地安装的模块树 npm ll负责本地安装的软件包。但它不适用于未安装的模块或全局安装的模块 我尝试了npm列表bower,但不是这样。您可以使用该模块。您可以全局安装它: npm install -g npm-remote-ls 然后打电话: npm-remote-ls bower 或者,npm@5.2.0installed然后您可以使用npx并避免全局安装该命令-只需调用: npx npm-remote-ls bower 此站点允许您以二维或三维节点图的形式查

如何获取npm可用但未在本地安装的模块树

npm ll
负责本地安装的软件包。但它不适用于未安装的模块或全局安装的模块

我尝试了npm列表bower,但不是这样。

您可以使用该模块。您可以全局安装它:

npm install -g npm-remote-ls
然后打电话:

npm-remote-ls bower

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

npx npm-remote-ls bower

此站点允许您以二维或三维节点图的形式查看软件包树


来自@Avanka的伟大作品

这是一个没有权力的官方命令:

npm view <PACKAGE> dependencies
npm视图依赖项

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

您无需安装即可生成NPM依赖项树 通过使用命令创建依赖项

npm list
这将在当前目录下为项目生成依赖关系树,并将其打印到控制台

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

npm list [dependency]
也可以通过执行以下操作来设置最大深度级别

npm list --depth=[depth]

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

如果您想获得特定软件包的实际依赖项路径,并想知道为什么会有它,您可以简单地询问
为什么。
例如:

$>为什么使用mime数据库
为什么选择v1.5.1
[1/4]为什么我们有“mime db”模块。。。?
[2/4]正在初始化依赖关系图。。。
[3/4]正在查找依赖项。。。
[4/4]正在计算文件大小。。。
=>找到“mime”-db@1.37.0"
信息此模块存在的原因
-“工作服#请求#mime类型”取决于它
-从“工作服#请求#mime类型#mime db”中提升
无依赖项的信息磁盘大小:“196kB”
具有唯一依赖项的信息磁盘大小:“196kB”
具有可传递依赖项的信息磁盘大小:“196kB”
信息共享依赖项的数量:0
在0.65秒内完成。

不幸的是,npm仍然无法查看未安装软件包的依赖关系。甚至没有正确列出依赖项的列表。查看有关npm模块的所有元数据 查看模块的所有依赖项 查看模块的所有版本 查看所有关键字 您可以使用还显示依赖项统计信息的:

npx howfat-r树茉莉花

还有一个很好的web应用程序,可以在加权地图类视图中查看依赖项

例如:

要将其作为列表获取,请执行以下操作:

%npx npm远程ls--展平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',
财政司司长-minipass@1.2.7',
'minizlib@1.3.3',
'minipass@2.9.0',
“安全的-buffer@5.2.1',
'yallist@3.1.1',
'wordwrap@0.0.3',
@szmarczak/http-timer@1.1.2',
“可缓存-request@6.1.0',
“@sindresorhus/is@0.14.0',
“减压-response@3.3.0',
'duplexer3@0.1.4',
“小写的-keys@1.0.1',
“模仿-response@1.0.1',
“得到-stream@4.1.0',
"可读,-stream@1.0.0',
“p-cancelable@1.1.0',
'url解析-lax@3.0.0',
财政司司长。realpath@1.0.0',
'inflight@1.0.6',
'inherits@2.0.4',
'once@1.4.0',
“路径是-absolute@1.0.1',
'minimatch@3.0.4',
“服从-connect@1.1.3',
“克隆人-response@1.0.2',
“得到-stream@5.2.0',
'http缓存-semantics@4.1.0',
“小写的-keys@2.0.0',
'responselike@1.0.2',
'keyv@3.1.0',
'pump@3.0.0',
“预编-http@2.0.0',
"正常化",-url@4.5.0',
'wrappy@1.0.2',
“撑杆-expansion@1.1.11',
'json-buffer@3.0.0',
"结束-stream@1.4.4',
“海螺-map@0.0.1',
“平衡的-match@1.0.0'
]

如何查看依赖于给定模块的模块?这仍然是必需的?即使是较新版本的npm?对于特定版本,您也可以使用此语法
npm remote lsprimeng@1.0.0-beta.7
@orad:如果是您安装的软件包,npm LSI您的第二个软件包只打印依赖于[dependency]的软件包,而不打印依赖于[dependency]的软件包。OP还特别指出,这不是他想要的。用于仅列出生产依赖项(而不列出devDependencies)。npm list和npm ls都读取node_modules文件夹,如果不先安装依赖项,则无法获得树。npm list--一个级别的深度为1为什么没有记录?惊人的“”取决于npm中的每个包。“:在Mac电脑上安装Chrome79.0.3945.130(官方版本)(64位)真是太棒了。该软件包必须安装吗
\npm view core js dependencies
在我的机器上不返回任何内容。@tube\u tape\u coder否,不必安装
core js
没有依赖项。为什么yarn提供了查看依赖项的准确方法,而npm没有提供查看依赖项的方法,这可能是因为npm不是确定性的,而yarn是确定性的吗?如果您所追求的只是依赖项图,并且将对公开发布的模块执行此操作。@感谢这些链接!我建议你把它们作为答案贴出来。我在@angular/cli和npm.anvaka.com上都检查过,这两个网站都很慢而且不可读,但是npm.broofa.com在这方面做得很好
npm view mongoose(module name)
npm view mongoose dependencies
npm view mongoose version
npm view mongoose versions
npm view mongoose keywords