如何列出npm用户安装的软件包?

时间:2013-07-30 03:45:53

标签: node.js npm package-managers

如何仅在npm列出用户安装的软件包?当我npm -g list时,它输出每个包及其依赖项,这不是我想要的。

16 个答案:

答案 0 :(得分:1015)

这也很有效:npm list -g --depth=0

  • npm :节点包管理器命令行工具
  • list -g :显示用户文件夹中找到的每个包的树(没有-g选项,只显示当前目录的包)
  • 深度0 / - 深度= 0 :避免在树视图中包含每个包的依赖项

答案 1 :(得分:119)

您可以使用以下方式获取所有全局安装模块的列表:

ls `npm root -g`

答案 2 :(得分:93)

截至2015年12月13日

npm list illustration

虽然我发现接受的答案100%正确且有用,但希望根据我自己的经验对其进行一些扩展,并希望为了其他人的利益。 (这里我使用术语包和模块可互换)

在回答这个问题时,是的,接受的答案是:

npm list -g --depth=0

您可能希望检查全局安装的特定模块,在* nix系统上/当grep可用时。这在检查您正在使用的模块版本时特别有用(全局安装,只需在检查本地模块时删除-g标志):

npm list -g --depth=0 | grep <module_name>

如果您想查看特定模块的所有可用(远程)版本,请执行以下操作:

npm view <module_name> versions

注意,版本是复数。这将为您提供可供选择的完整版本列表。

对于最新的远程版本:

npm view <module_name> version  

注意,版本是单数。

要找出需要更新的软件包,可以使用

npm outdated -g --depth=0

要更新全局包,您可以使用

npm update -g <package>

要更新所有全局包,您可以使用:

npm update -g

(但是,对于小于2.6.1的npm版本,请参阅this link,因为建议使用特殊脚本来全局更新所有软件包。)

以上命令应适用于NPM版本1.3.x,1.4.x,2.x和3.x

答案 3 :(得分:51)

对于本地模块:

npm list --depth=0

对于全球模块:

npm list -g --depth=0

答案 4 :(得分:27)

我更喜欢带有友好gui的工具!

我使用了npm-gui,它提供了本地和全局包的列表

套餐位于https://www.npmjs.com/package/npm-guihttps://github.com/q-nick/npm-gui

//Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

在您的浏览器http:\\localhost:9000

npm-gui

答案 5 :(得分:16)

对于项目依赖项,请使用:

npm list --depth=0

对于全局依赖项,请使用:

npm list -g --depth=0

答案 6 :(得分:16)

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

您可以找到here的完整文档。

答案 7 :(得分:7)

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

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

答案 8 :(得分:7)

Node有一个Local modules&amp;概念。全球模块

本地模块位于当前项目目录中。

全局模块通常位于用户的主目录中,但我们可以更改全局模块所在的路径。

  1. 列出当前目录中的本地模块:npm list
  2. 列出全局模块:npm list --globalnpm list --g //它将列出所有具有依赖关系的顶级模块
  3. 仅列出顶级(已安装模块)全局模块:npm list -g --depth=0

答案 9 :(得分:6)

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

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

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

答案 10 :(得分:4)

我使用npm -g outdated --depth=0列出过时的版本 在全球空间。

答案 11 :(得分:3)

Node_modules包含用户安装的软件包,因此将目录更改为node_modules并列出项目。 Core Moduleslib/文件夹的节点源中定义。

Example:

     example@example:~/:~/node_modules$ ls
     express  maxmind-native  node-whois  socket.io  ua-parser-js
     geoip    mongoskin       pdfkit      tail       zeromq
     maxmind  nodemailer      request     ua-parser  zmq

答案 12 :(得分:1)

使用npm list,并使用grep过滤包含的内容

示例:

npm list -g | grep name-of-package

答案 13 :(得分:1)

作为简写,您可以运行:

npm ls -g --depth=0

答案 14 :(得分:0)

您可以尝试NPM Desktop manager NPM Desktop manager

只需单击一下,您就可以安装或卸载devglobal状态的软件包。

答案 15 :(得分:0)

对于本地模块使用npm list --depth 0

敌人全局模块npm list -g --depth 0

Example local npm module Example global npm module