发布 npm 包前先用 npm pack --dry-run 看会带上什么

15 次浏览1 条回复

准备发布 npm 包时,可以先看一次打包清单,避免把测试目录或本地配置一起带进去。

环境:Node.js 18+、npm 9+,在包项目根目录执行:

npm pack --dry-run

它会列出将要进入 tarball 的文件,并显示包名、版本和体积;不会生成压缩包,也不会发布到 registry。想进一步确认实际内容时,再用 npm pack 生成本地包检查。

如果清单里出现不该发布的文件,可以检查 files 字段、.npmignore 和 package.json 里的入口配置。这个动作放在 npm publish 前挺划算,尤其是仓库里同时放源码、测试和构建产物时。

还可以加上 --json,需要脚本判断内容时更方便:

npm pack --dry-run --json

输出里能拿到 tarball 文件清单,CI 可以据此拦截不该发布的路径。另一个容易忽略的点是 files 字段和 .npmignore 会共同影响结果,别只改了其中一个就默认清单一定符合预期。