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

lol*_*ski 529 package-managers node.js npm

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

ari*_*ris 1087

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

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

参考

  • 为什么运行`npm help ls`时没有提到`--depth = 0`选项? (3认同)
  • @Fabricio,您可以运行“npm config set depth 0”将其设为默认值。 (3认同)
  • 返回空结果。我的 npm 版本是 3.6.0。 (2认同)
  • 添加`| 也可能很好 grep -v "duped"` 将重复的依赖项删除到列表中 (2认同)

Gil*_*Gil 128

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

ls `npm root -g`

  • `ls -lh \`npm root -g \``将它们显示在一个很好的列表中. (11认同)
  • `npm root -g | 在Windows上的Powershell中的gci` (3认同)
  • 这适用于使用git bash shell的windows (2认同)
  • 该解决方案比最受好评的解决方案要快得多。 (2认同)
  • 这个解决方案很不错,但是`npm list -g --depth = 0`会打印出很好的版本.无论如何,我不知道这个命令所以+1为此. (2认同)

arc*_*don 102

截至2015年12月13日

npm列表插图

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

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

npm list -g --depth=0
Run Code Online (Sandbox Code Playgroud)

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

npm list -g --depth=0 | grep <module_name>
Run Code Online (Sandbox Code Playgroud)

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

npm view <module_name> versions
Run Code Online (Sandbox Code Playgroud)

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

对于最新的远程版本:

npm view <module_name> version  
Run Code Online (Sandbox Code Playgroud)

注意,版本是单数.

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

npm outdated -g --depth=0
Run Code Online (Sandbox Code Playgroud)

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

npm update -g <package>
Run Code Online (Sandbox Code Playgroud)

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

npm update -g
Run Code Online (Sandbox Code Playgroud)

(但是,对于小于2.6.1的npm版本,请同时看到此链接,因为有一个特殊的脚本建议全局更新所有包).

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

  • 你用什么工具来制作gif图像.这很酷. (7认同)

Ali*_*ahi 32

我更喜欢带有友好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
Run Code Online (Sandbox Code Playgroud)

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

NPM-GUI


Kar*_*ara 18

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

npm list --depth=0
Run Code Online (Sandbox Code Playgroud)

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

npm list -g --depth=0
Run Code Online (Sandbox Code Playgroud)


pro*_*sti 17

npm ls
Run Code Online (Sandbox Code Playgroud)

npm list 只是一个别名 npm ls

对于扩展信息使用

npm la    
npm ll
Run Code Online (Sandbox Code Playgroud)

你总是可以--depth=0在最后设置以获得第一级深度.

npm ls --depth=0
Run Code Online (Sandbox Code Playgroud)

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

npm ls --only=dev
npm ls --only=prod
Run Code Online (Sandbox Code Playgroud)

json格式显示信息

npm ls --json=true
Run Code Online (Sandbox Code Playgroud)

默认是 false

npm ls --json=false
Run Code Online (Sandbox Code Playgroud)

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

npm ls --long=true
Run Code Online (Sandbox Code Playgroud)

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

npm ls --parseable=true
Run Code Online (Sandbox Code Playgroud)

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

npm ls --global=true
npm ls -g // shorthand
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到完整的文档.


Fed*_*Baù 14

\n

截至 2021 年底,几乎没有明显的方法可以做到这一点。尽管所有其他答案仍然有效,但我认为除了可能的更定义和完整的命令列表之外,还需要更新,在我这样做的同时,我添加了一些其他需要它的常用命令(安装、卸载等)。 )

\n
# Bare command\nnpm list\n# \'ls\' is an alias of list\nnpm ls\n# Don\'t show dependencies\nnpm list --depth=0\n# Global modules\nnpm list -g --depth=0\n# More info\nnpm la\nnpm ll\n# Show particular environment packages\nnpm ls --only=dev\nnpm ls --only=prod\n# Parseable view (tree view)\nnpm ls --parseable=true\n
Run Code Online (Sandbox Code Playgroud)\n

Node.js 文档实际上对这个问题做了很好的解释。这是主要命令的集合列表。

\n

开始之前,请注意:

\n
\n

所有命令都将在本地运行已安装模块的列表。为了在全局级别运行,只需在语句末尾添加一个标志即可。-g

\n
\n

列出已安装的依赖命令

\n
    \n
  1. 查看所有已安装 npm 软件包的版本,包括它们的依赖项

    \n
    npm list\n\n >>> /Users/joe/dev/node/cowsay\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\xac cowsay@1.3.1\n   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 get-stdin@5.0.1\n   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\xac optimist@0.6.1\n   \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 minimist@0.0.10\n   \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wordwrap@0.0.3\n   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\xac string-width@2.1.1\n   \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 is-fullwidth-code-point@2.0.0\n   \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\xac strip-ansi@4.0.0\n   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ansi-regex@3.0.0\n   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 strip-eof@1.0.0\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 仅获取您的顶级包

    \n
     npm list --depth=0\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. 通过指定包的名称来获取特定包的版本。

    \n
     npm list <package-name>\n
    Run Code Online (Sandbox Code Playgroud)\n
  6. \n
  7. 查看 npm 存储库上软件包的最新可用版本是什么

    \n
     npm view <package-name> version\n
    Run Code Online (Sandbox Code Playgroud)\n
  8. \n
  9. 使用以下命令安装旧版本的 npm 包@使用以下语法

    \n
    npm install <package>@<version>\nnpm install cowsay@1.2.0\n
    Run Code Online (Sandbox Code Playgroud)\n
  10. \n
  11. 列出包的所有先前版本

    \n
    npm view cowsay versions\n[ \'1.0.0\',\n  \'1.0.1\',\n  \'1.0.2\',\n  \'1.0.3\',\n  \'1.1.0\',\n  \'1.1.1\',\n  \'1.1.2\',\n  \'1.1.3\',\n  ....\n]\n
    Run Code Online (Sandbox Code Playgroud)\n
  12. \n
\n
\n

更新所有 Node.js 依赖项

\n
    \n
  1. 安装新的次要版本或补丁版本

    \n
     npm update\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. 安装新的次要版本或补丁版本,但不更新文件package.json

    \n
     npm update --no-save\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. 为了发现软件包的新版本,这会为您提供一个存储库中一些已经有一段时间没有更新的过时软件包的列表

    \n
     npm outdated\n
    Run Code Online (Sandbox Code Playgroud)\n
  6. \n
\n
\n

其中一些更新是主要版本。运行 npm update 不会更新这些版本。主要版本永远不会以这种方式更新,因为它们(根据定义)引入了重大更改,而 npm 希望为您省去麻烦。

\n
\n

要将所有软件包更新到新的主要版本,请全局安装 npm-check-updates 软件包:

\n
npm install -g npm-check-updates\nncu -u\n
Run Code Online (Sandbox Code Playgroud)\n
\n

这会将 package.json 文件中的所有版本提示升级为依赖项和 devDependencies,以便 npm 可以安装新的主要版本

\n
\n
\n

开发依赖

\n

安装在开发依赖项中。

\n
npm install <package-name> -D\nnpm install <package-name> --save-dev # The same as above\n
Run Code Online (Sandbox Code Playgroud)\n

避免在生产中安装这些开发依赖项

\n
npm install --production\n
Run Code Online (Sandbox Code Playgroud)\n
\n

卸载 npm 包

\n
npm uninstall <package-name>\nnpm uninstall -g <package-name> # Globally uninstall\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 卸载包并删除 package.json 中的引用文件中的引用

    \n
      npm uninstall <package-name> -S\n  npm uninstall <package-name> --save # The same as above\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
\n
\n

一些带有全局标志示例的命令。

\n
npm list -g\nnpm list --depth=0 -g\nnpm list <package-name> -g\nnpm view <package-name> version -g\n
Run Code Online (Sandbox Code Playgroud)\n

附加命令

\n\n

文档

\n\n


cat*_*ith 11

>= v7.0.0:

npm ls -g
Run Code Online (Sandbox Code Playgroud)

< v7.0.0:

npm ls -g --depth=0
Run Code Online (Sandbox Code Playgroud)

参考

npm ls默认情况下仅打印第一级依赖关系。--depth=<n>您可以通过使用设置特定深度或--all打印全部来使其打印更多树。

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


小智 9

你可以试试NPM 桌面管理器 NPM 桌面管理器

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


Piy*_*gar 8

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

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

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

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


obi*_*mod 7

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

npm root
/Users/me/repos/my_project/node_modules
Run Code Online (Sandbox Code Playgroud)

然后列出该目录......

ls /Users/me/repos/my_project/node_modules
grunt                   grunt-contrib-jshint
Run Code Online (Sandbox Code Playgroud)

在这种情况下,用户安装的包是grunt和grunt-contrib-jshint

  • 为什么不使用官方内置的 npm 命令呢?`npm list -g --深度=0` (2认同)
  • 这不是 100% 正确的。当我运行命令 `npm root` 时,它告诉我: `Users/me/node_modules` 这是不正确的。我的 node_modules 住在其他地方。我想这取决于您如何安装节点。我使用`brew`来安装我的软件。我猜这是如果您使用他们的软件包安装程序从他们的网站安装节点? (2认同)
  • 对我来说,我的npm坏了,所以我无法使用命令。我想进行完全重新安装,因此我需要知道我已全局安装了哪些软件包才能进行重建。 (2认同)

Say*_*Dey 7

用于npm list -g获取所有全局安装的 npm 包。

要获取当前项目的 npm 包,只能使用“npm list”。

在此输入图像描述


rab*_*rab 6

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

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

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


kar*_*ick 5

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

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
Run Code Online (Sandbox Code Playgroud)


pix*_* 67 5

npm -g outdated --depth=0过去常常
在全球范围内列出过时的版本。


Jey*_*lai 5

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

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

Example local npm module Example global npm module