如何查看已安装 npm 包的版本?
查看已装包版本用 npm list <包名>;查最新版本用 npm view <包名> version;列出全部顶层依赖用 npm ls --depth=0,加 -g 看全局。本文汇总常用命令。
查本地已装版本:npm list <包名>。
常用命令速查
# 查看某个包的已安装版本(含依赖它的包)
npm list lodash
# 查看该包在 registry 上的最新版本
npm view lodash version
# 列出项目所有顶层依赖及版本(不展开子依赖)
npm ls --depth=0
# 查看全局安装的包
npm ls --depth=0 --global
# 查看某包的所有可用版本
npm view lodash versions
其他途径
看 package.json:dependencies/devDependencies 里记录的是版本范围(如 ^4.17.21),不是实际安装版本。
看 package-lock.json:packages 节点下记录的是实际锁定的精确版本。
代码里读(运行时):
const { version } = require('lodash/package.json');
console.log(version);
常见问题(FAQ)
Q:npm list 报 "extraneous" 是什么意思?
包被装在了 node_modules 里但 package.json 没声明(手动 npm install 没加 --save 的历史遗留)。可以删掉重装,或 npm prune 清理。
Q:npm ls 输出大量 "unmet dependency"?
依赖树有版本冲突。npm install 重新解析依赖树,或删掉 node_modules 和 package-lock.json 重装。
Q:想看某个包为什么被安装(谁依赖它)?
npm explain <包名>(或 npm why <包名>)会列出依赖路径。