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

NPM ll负责本地安装的包。但对于未安装的模块或全局安装的模块,它不起作用。

我试过npm列表鲍尔,但那不是它。


当前回答

如果你想要得到特定包的实际依赖路径,并想知道为什么你有它,你可以简单地问yarn为什么<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.

其他回答

可以使用npm-remote-ls模块。你可以全局安装它:

npm install -g npm-remote-ls

然后调用:

npm-remote-ls bower

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

npx npm-remote-ls bower

该站点允许您以2D或3D节点图的形式查看包树。

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

@Avanka干得好!

这个命令以树形结构输出所有依赖的模块:

npm ls -a

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

npm view <PACKAGE> dependencies

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

你可以在不需要安装的情况下生成NPM依赖树 使用命令建立依赖关系

npm list

这将在当前目录为项目生成一个依赖树,并将其打印到控制台。

你可以像这样得到特定依赖项的依赖树:

npm list [dependency]

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

npm list --depth=[depth]

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