首页 文章

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

提问于
浏览
445

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

12 回答

  • 45

    这也很好用: npm list -g --depth=0

    • npm :Node包管理器命令行工具

    • list -g :显示在用户文件夹中找到的每个包的树(没有-g选项,它只显示当前目录的包)

    • depth 0 / — depth=0 :避免在树视图中包含每个包的依赖项

    Reference

  • 3

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

    lsnpm root -g``

  • 5

    As of 13 December 2015

    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.

  • 86

    对于本地模块:

    npm list --depth=0
    

    对于全局模块:

    npm list -g --depth=0
    
  • 6

    我更喜欢带有友好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

  • 2

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

    npm list --depth=0
    

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

    npm list -g --depth=0
    
  • 110
    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 .

  • 20

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

    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

  • 925

    Node具有本地模块和全局模块的概念

    Local module s位于当前项目目录中 .

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

    • 列出当前目录中的本地模块: npm list

    • 列出全局模块: npm list --globalnpm list --g //它将列出所有顶级模块及其依赖项

    • 仅列出顶级(已安装模块)全局模块: npm list -g --depth=0

  • 6

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

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

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

  • 15

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

  • 11

    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
    

相关问题