一行命令, 查看你全局安装了哪些 npm 包

我们喜欢使用 npm install ** -g 安装一些很方便的命令, 如 nrm / npx / fanyi 等等.

时间久了, 我们会不会忘记已经安装了哪些命令呢?

如果你需要查看使用 npm 全局安装了哪些包, 那么, 你需要的是

npm ls -g --depth 0
1

npm ls[1]

npm ls 又可以使用别名 npm list / npm la / npm ll, 用来列出已安装的包.

看上去有点像你在 shell 中常用的 ls / la / ll, 非常好记.

我们使用 -g 参数, 或 --global, 表示在全局安装前缀中而不是在当前项目中列出软件包.

就像你 npm install -g 的时候那样, 是不是也很好理解.

这时, 你使用 npm ls -g 命令, 将会看到一大串很长很长的输出, 然而我们并不需要这些.

depth

我们想要的是自己安装了哪些命令, 而不关心这些命令实际上依赖了什么.

所以 --depth 0 也是一个很关键的参数, 它表示依赖关系树的最大显示深度, 需要一个整数作为参数.

我们使用 0 表示不需要显示它的任何儿子依赖.

这个参数也常在命令中出现, 如 git clone **[2] 克隆仓库时, 如果不需要所有仓库历史, 就可以使用 depth 参数下载指定个数的最近 commit 来节省带宽.

后记

我们在使用一些常用而不熟悉的命令时, 常常会感觉它很长, 不知道它每个参数的含义, 总是喜欢通过搜索引擎查到整个命令语句, 然后通过 shell 的 alias 的方式(如, alias nls='npm ls -g --depth 0')来起个别名.

当然我不反对, 别名确实能大大的提高我们的工作效率.

但是当我们抽丝剥茧把这一行命令慢慢消化掉的时候, 你会发现记住它非常的容易.

记住它是为了在陌生的环境中还是能够使用它如鱼得水, 在我自己的电脑中, 我肯定也还是会选择 alias.

非常感谢您的阅读.


  1. https://docs.npmjs.com/cli/ls ↩︎

  2. https://git-scm.com/docs/git-clone ↩︎