我如何列出用户安装/环境包只在npm?

当我执行npm -g list时,它会输出每个包及其依赖项。相反,我希望看到包安装在当前工作的项目或环境中。


当前回答

> =或:

npm ls -g

<或:

npm ls -g --depth=0

参考:

NPM ls默认情况下只打印第一级依赖项。你可以使用——depth=<n>来设置一个特定的深度,或者——all来打印所有的树。

有关最新版本,请参阅npm文档:npm-ls, depth

其他回答

一种方法可能是使用以下命令找到模块的根目录:

npm root

输出:

    /Users/me/repos/my_project/node_modules

然后列出该目录…

ls /Users/me/repos/my_project/node_modules

输出:

    grunt                   grunt-contrib-jshint

在本例中,用户安装的包是grunt和grunt-contrib-jshint。

查看已安装的所有包的列表。

$ npm ls --parseable | awk '{gsub(/\/.*\//,"",$1); print}'| sort -u

显示NPM包列表https://docs.npmjs.com/cli/ls#parseable的可解析性

作为一种简写,你可以运行:

npm ls -g --depth=0

使用npm列表和使用grep过滤包含

例子:

npm list -g | grep name-of-package

Use:

npm ls

NPM list只是NPM ls的别名。

对于扩展的信息,使用:

npm la
npm ll

你总是可以在最后设置——depth=0来获得第一个层次的深度。

npm ls --depth=0

您可以检查开发包和生产包。

npm ls --only=dev
npm ls --only=prod

以json格式显示信息

npm ls --json=true

默认为false

npm ls --json=false

您可以坚持使用长格式来显示扩展的信息。

npm ls --long=true

您可以显示可解析的输出,而不是树视图。

npm ls --parseable=true

您可以在全局安装前缀中而不是在当前项目中列出包。

npm ls --global=true
npm ls -g // shorthand

你可以在这里找到完整的文档。