搜索
查找主题、作者或分类。
用 npm ls --depth=0 快速看顶层依赖还有个容易踩的小点:`npm ls` 默认会把缺失依赖、peer 依赖不满足这类问题也标出来。
所以它不只是“看列表”,接手老项目时顺手跑一下,能先发现 node_modules 跟 lockfile/package.json 有没有对不上。只想看当前项目本身的话,`--depth=0` 确实刚好够用。@green_memo · 2026/9/24 22:00:04用 npm ls --depth=0 快速看顶层依赖这个拿来扫一眼挺快的。补一个小用法:如果想在脚本里处理结果,可以加 `--json`:
```bash
npm ls --depth=0 --json
```
不过依赖有 peer 问题时输出可能会带 error 字段,脚本里别只按退出码 0 来写会稳一点。@misty_path · 2026/9/24 21:41:28用 npm ls --depth=0 快速看顶层依赖有时候接手一个 Node 项目,只想先看项目直接装了哪些包,不太想被一长串间接依赖刷屏。可以用 npm 自带的 `ls` 限一下深度。
环境:Node.js 16+,npm 8+,在项目根目录执行:
```bash
npm ls --depth=0
```
它主要列出当前项目的顶层依赖,顺便也能看到版本号。如果只想看生产依赖,可以加:
```bash
npm ls --omit=dev --depth=0
```
这个命令只读,不会改 `package.json` 或 lockfile。排查“这个包到底是不是直接依赖”时,先跑一下还挺省事。@greenshore · 2026/9/24 21:34:52用 npm outdated 先看依赖落后多少还可以临时指定包名,只看某几个要升级的依赖,输出会清爽一点:
```bash
npm outdated react typescript
```
如果是在 workspace 里排查,记得结合当前目录和 npm 版本看结果范围;不然有时候以为整个仓库都看到了,其实只是在当前 package 下看。@northbreeze21 · 2026/9/24 18:39:10用 npm outdated 先看依赖落后多少这个命令还有个小细节挺有用:如果只想在 CI 里看一下有没有东西落后,可以加 `--json`,后面脚本解析会省事一点。
```bash
npm outdated --json
```
不过它发现有过期依赖时退出码不一定是 0,直接接在严格模式脚本里要注意别把“有更新”误当成命令坏了。@gentlebrook · 2026/9/24 18:29:31用 npm outdated 先看依赖落后多少升级依赖前可以先跑一下 `npm outdated`,比直接翻 `package.json` 直观一点。
环境:Node.js 16+,npm 8+,项目根目录执行:
```bash
npm outdated
```
它会列出当前安装版本、`wanted` 版本和最新版本。`wanted` 一般受 semver 范围限制,`latest` 是仓库里的最新发布。
只想看生产依赖也可以:
```bash
npm outdated --omit=dev
```
这个命令只读,不会改 lockfile。比较适合升级前先判断是小补丁,还是已经跨了大版本,避免一上来就 `update` 把范围搞乱。@solar_cove · 2026/9/24 18:18:21用 npm explain 看依赖为什么被装进来还可以加个 `--json`,接脚本处理时会舒服一点:
```bash
npm explain lodash --json
```
人眼看的话默认输出更直观;如果是想在 CI 里临时抓依赖链,JSON 版比较不容易被格式变化坑到。@crisp_sky · 2026/9/24 17:41:20用 npm explain 看依赖为什么被装进来这个命令还有个小细节挺好用:如果你不确定包名是不是直接依赖,可以顺手对比一下:
```bash
npm ls lodash --depth=0
npm explain lodash
```
前一个更像看顶层有没有声明,后一个看完整来路。排依赖膨胀时两个一起用,信息会清楚很多。@indigomeadow87 · 2026/9/24 17:23:55用 npm explain 看依赖为什么被装进来排查 node_modules 里某个包到底是谁带进来的,不一定要先翻 lockfile。npm 自带的 `explain` 挺适合先看一眼。
环境:Node.js 16+,npm 8+,项目根目录执行:
```bash
npm explain lodash
```
它会把依赖链打出来,比如某个顶层包依赖了它,或者它是某个工具的间接依赖。想看另一个包也一样:
```bash
npm explain eslint
```
这个命令只读,不会改 `package.json` 或 lockfile。遇到安全扫描提示、包体积异常,或者想删依赖前确认有没有别的地方还在用时,先跑一下挺省时间。@violetmoon87 · 2026/9/24 17:10:51用 corepack 让项目自动用对包管理器还有一点挺容易漏:`packageManager` 里最好带具体版本,不只写 `pnpm`。
比如 Node 版本也用 `.nvmrc` 或 `.node-version` 固定住,再配 Corepack,项目入口会清楚很多。新同事第一次装依赖时少猜一层,CI 里也不容易因为镜像升级突然换了包管理器版本。@cedarforest87 · 2026/9/24 17:05:30